지시어는 JSP 파일의 속성을 기술하는 요소로, JSP 컨테이너에 해당 페이지를 어떻게 처리해야 하는지를 전달하는 내용을 담고 있다. 지시어는 크게 page, include, taglib으로 나눌 수 있으며, 각각의 속성이 다르다.
기본 형식은 다음과 같다.
<%@ 지시어 속성="값" %>
page 지시어는 현재 JSP 페이지를 컨테이너에서 처리하는데 필요한 각종 속성을 기술하기 위해 사용하며 소스코드 맨 앞에 위치한다.
page 지시어의 구문과 사용 형식은 다음과 같다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*" errorPage="error.jsp" %>
include 지시어는 다른 파일을 포함하기 위한 지시어로, 사용된 위치에 특정 파일(HTML, jsp)을 불러온다. 컨테이너에서는 포함된 파일을 하나로 처리하며 자바 소스를 생성한 뒤 서블릿으로 컴파일한다. 즉 include에 사용된 파일의 내용을 모두 포함한 하나의 서블릿 코드로 생성되어 컴파일되는 것이다.
포함되는 파일의 경우 해당 파일을 직접 요청해서 실행하는 것이 아니라면 page 지시어, HTML 기본 태그 구성요소 등 개별 구성요소를 갖출 필요는 없다.
include 지시어는 원하는 위치에 자유롭게 사용할 수 있으며 다음과 같이 사용한다.
<%@ include file="파일 위치" %>
taglib 지시어는 JSP의 태그 확장 매커니즘인 커스텀 태그를 사용하기 위한 지시어이다.
taglib 지시어의 구문과 사용 형식은 다음과 같다.
<%@ taglib ( uri="태그 라이브러리 경로" 혹은 tagdir="태그 파일 경로" ) prefix="태그 접두어" %>
다음은 태그 파일로 커스텀 태그를 구현한 예시로 [WEB-INF/tags]
폴더에 있는 printData.tag
파일에 태그에서 처리할 내용이 작성되어 있다.
<%@ taglib tagdir="/WEB-INF/tags" prefix="m" %>
...
<h2><m:printData /></h2>