디렉티브 태그는 주로 jsp 페이지에 대한 전반적인 설정 정보를 지정할 때 사용하는 태그임.
디렉티브 태그의 종류
페이지 디렉티브 태그 : jsp 페이지의 전반적인 정보를 설정할 때 사용함.
인클루드 디렉티브 태그 : 공통으로 사용하는 jsp 페이지를 다른 jsp 페이지에 추가할 때 사용함.
태그라이브 디렉티브 태그 : 개발자나 프레임워크에서 제공하는 태그를 사용할 때 사용함.
info - 없음 - 페이지를 설명해 주는 문자열을 지정함.
language - "java" - jsp 페이지에서 사용할 언어를 지정함.
contentTye - "text/html" - jsp 페이지 출력 형식을 지정함.
import - 없음 - jsp 페이지에서 다른 패키지의 클래스를 임포트할 때 지정함.
session - "true" - jsp 페이지에서 HttpSession 객체의 사용 여부를 지정함.
buffer - "8kb" - jsp 페이지 출력 시 사용할 버퍼 크기를 지정함.
autoFlush - "true" - jsp 페이지의 내용이 출력되기 전 버퍼가 다 채워질 경우 동작을 지정함.
errorPage - "false" - jsp 페이지 처리 도중 예외가 발생할 경우 예외 처리 담당 jsp 페이지를 지정함.
isErrorPage - "false" - jsp 페이지 처리 도중 예외가 발생할 경우 예외 처리 담당 jsp 페이지를 지정함.
pageEncoding - "ISO-8859-1" - jsp 페이지에서 사용하는 문자열 인코딩을 지정함.
isELIgnored - "true" - jsp 2.0 버전에서 추가된 기능으로 EL 사용 유무를 지정함.
페이지 디렉티브 형식은 다음과 같이 <%@page %> 안에 속성과 값을 나열하면 됨.
<%@ page 속성1 = "값1" 속성2 = "값2" 속성3 = "값3"...%>
그런데 이클립스에서 jsp 페이지를 만들면 자동으로 페이지 디렉티브 태그가 생성됨.
페이지 디렉티브 태그 사용 예제
<!-- import 속성을 제외한 다른 속성은 한 번만 선언해야 함. -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
import = "java.util.*"
session = "true"
buffer = "8kb"
autoFlush = "true"
isThreadSafe = "true"
info = "(ShoppingMall...)"
isErrorPage = "false"
errorPage = "" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>페이지 디렉티브 연습</title>
</head>
<body>
<h1>쇼핑몰 구현 중심 jsp 입니다.</h1>
</body>
</html>
서블릿에서는 필요한 클래스 파일을 import문을 이용해서 일일이 설정해 줬음. 하지만 이제는 jsp 페이지에서 페이지 디렉티브 태그를 이용해서 설정함. 그리고 페이지 디렉티브 태그는 import 속성을 제외한 다른 속성은 한 번만 선언해 줘야 함.