JSP : 디렉티브 태그

공진·2023년 10월 22일
0

지능웹프로그래밍

목록 보기
2/2

복습
스크립트 태그는 JSP 페이지가 서블릿 프로그램(.java)에서 서블릿 클래스(.class)로 변환될 때 JSP 컨테이너가 자바 코드가 삽입되어 있는 스크립트 태그를 처리하고 이 과정에서 나머지는 HTML코드나 일반 텍스트로 간주함

디렉티브 태그

  • JSP 페이지를 어떻게 처리할 것인지를 설정
  • JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환될 때 JSP 페이지와 관련된 정보를 JSP 컨테이너에 지시하는 메시지
  • 디렉티브 태그는 JSP 페이지를 수정하여 다시 컴파일하는 경우에만 역할을 수행하기 때문에 개별 HTML 응답에 영향을 끼치지 않음
  • 아래 세 종류의 태그가 사용됨
<%@ page ... %>
<%@ include ... %>
<%@ taglib ... %>

<%@ page ... %> 태그

  • JSP 페이지에 대한 정보를 설정
  • JSP 페이지가 생성할 콘텐츠 유형의 문서, 사용할 자바 클래스, 오류 페이지 설정, 세션 사용 여부, 출력 버퍼의 존재 유무 등을 설정
  • JSP 페이지의 어디에서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언하는것이 권장됨
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

jsp 파일 생성 시 기본으로 생성되는 디렉티브 태그이다.

language는 기본적으로 java이다.

contentType

<%@ page contentType = " ... "%>
contentType 속성은 현재 jsp 페이지의 콘텐츠 유형을 설정하는데 사용된다.

EX) text/html , text/xml, text/plain etc..

추가적으로 HTML을 출력하는 JSP 페이지는 contentType을 사용할 필요가 없다.

contentType="text/html; charset=UTF-8" 처럼 charset을 통해 JSP 페이지의 전체 문자열을 변경할 수 있다.

contentType과 pageEncoding은 그 기능이 같다.
pageEncoding을 하고 싶은 언어를 contentType의 charset에 넣으면 똑같이 적용 가능하다.

import

현재 JSP 페이지에서 사용할 자바 클래스를 설정하는데 사용
여러개의 자바 클래스를 설정할 수 있음 콤마(,) 사용해서 여러개 설정 가능

<@page import = "java.io.*" %>

앞에서 언급한 contentType 처럼 맨 위에 쓰는 줄 알았는데 body에 사용 가능..

<body>
<%@ page import ="java.util.Date" %>
Today is <%= new Date()%>
</body>

처럼 사용시 Date 클래스를 사용할 수 있더라

errorPage

현재 JSP 페이지가 실행되는 동안 오류가 발생하면 특정 오류 페이지로 이동하는데 사용

<% page errorPage ="MyErrorPage.jsp" %>

이렇게하면 MyErrorPage로 넘어가서 오류 환경 확인 가능함

include

자.. 자.. 왔다 include에
현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
포함할 수 있는 파일 : HTML, JSP, TEXT

  • include 태그는 jsp 파일의 어디든지 사용이 가능하다
<%@ include file = "파일명" %>

왜 쓰냐?
웹 애플리케이션의 중복된 코드나 공통된 코드를 모듈화할 수 있음

taglib

현재 JSP 페이지에 표현 언어, JSTL, 사용자 정의 태그 등 태그 라이브러리를 설정하는 태그

  • taglib 디렉티브 태그가 서블릿 프로그램으로 번역될 때
    uri 속성 값은 JSP 컨테이너에 사용자가 정의한 태그 라이브러리의 위치를 알려줌
    prefix 속성 값은 사용자가 정의한 태그 라이브러리의 접두어 태그가 무엇인지 JSP 컨테이너에 알려주는 역할을 함
<%@ taglib uri = "경로", prefix ="태그 식별자" %>

prefix에 들어가는 태그 식별자는 사용자가 정의한 태그를 식별하기 위한 고유 이름을 의미한다.

왜 쓰는가?
해당 JSP 페이지 내에서 uri 속성 값을 그대로 사용하면 길어서 복잡함. prefix로 줄여서 사용하는 것

예제

<%@ taglib prefix ="c" uri ="~~~"%>
<body>
<c:for each~~~~~
>
...

등으로 uri에 있는 라이브러리를 이용할 수 있다.

0개의 댓글

관련 채용 정보