JSP

디렉티브 태그

크리스피코드 2022. 12. 23. 09:12

 

디렉티브 태그

<%@ ... %>

 

JSP 페이지를 어떻게 처리할지 설정하는 태그

 

JSP 페이지가 서블릿 클래스로 변환될 때

JSP 페이지와 관련된 정보를 JSP 컨테이너에 지시하는 메시지의 역할을 한다.

 

1. page

<%@ page ... %>

 

JSP 페이지에 대한 정보를 설정한다.

page 태그에는 다양한 속성들이 존재하지만 그중 가장 기본이 되는 속성은 languagecontentType 이다.

<%@ page language="java" contentType="text/html; charset=utf-8" %>

language페이지에서 사용할 언어, JSP의 경우에는 당연하지만 속성값이 java가 된다.

 

contentType은 해당 페이지의 담기는 컨텐츠의 타입을 설정한다.

웹 페이지 구성이 목적이라면 일반적으로는 text/html; 이라는 이름을 사용한다.

 

컨텐츠 타입 뒤에 붙는 charset은 페이지의 인코딩 타입을 설정한다.

원래 디렉티브 태그에는 pageEncoding 이라는 속성이 존재하지만

위와 같이 컨텐츠 타입 뒤에 charset=utf-8로 설정해주면 pageEncoding을 생략할 수 있다.

 

2. include

<%@ include ... %>

 

JSP 페이지의 특정 영역에 다른 문서를 포함시킬 때 사용한다.

 

페이지에 include 디렉티브 태그가 있을 경우 해당 태그에 지정된 파일을 찾아서 현재 페이지에 출력한 후,

이어서 페이지를 출력하게 된다.

 

페이지의 헤더 푸터같이 같은 디자인을 여러번 중복해서 사용해야하는 경우

include 디렉티브 태그를 사용하면 편리하다.

<%@ include file="파일명.jsp" %>

 

* 덧붙여 include의 대상이 되는 페이지는 상단의 디렉티브 태그만 제외하고 모두 지우고 비어있는 페이지 상태에서 작성하면 된다.

 

3. taglib

<%@ taglib ... %>

 

JSP 페이지에서 사용할 태그 라이브러리를 설정한다.

uri 속성에는 사용할 라이브러리의 설정값이 위치한 경로를 입력한다.

prefix 속성으로 해당 uri 대신에 페이지에서 식별할 별칭을 지정할 수 있다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

대표적으로 JSTL Core의 경우 Core 라는 뜻에서 prefix를 'c'로 설정하는데

<c:out value="JSTL 테스트"/>

 

JSTL을 사용할 때 위와 같이 태그의 첫 번째에 prefix에서 지정한 'c'가 오는 것을 알 수 있다

 

 

page 디렉티브 태그의 속성

page 디렉티브 태그에서는 JSP 페이지 설정을 위해 다양한 속성들을 사용할 수 있다.

page 디렉티브 태그에서 속성은 다음과 같이 사용할 수 있다.

 

<%@ page 속성1="값1" 속성2="값2" ... %>

 

1. language

현재 JSP 페이지가 사용할 프로그래밍 언어를 설정한다.

 

2. contentType

현재 JSP 페이지가 생성할 문서의 콘텐츠 유형을 설정한다.

타입 종류 : text/html; text/xml; text/plain;

 

3. pageEncoding

현재 JSP 페이지의 문자 인코딩을 설정한다.

 

4. import

현재 JSP 페이지가 사용할 자바 클래스를 설정한다.

 

5. session

현재 JSP 페이지의 세션 사용 여부를 설정한다.

생략 시 기본값은 true이다.

<%@ page session="true" %>

 

6. buffer

현재 JSP 페이지의 출력 버퍼 크기를 설정한다.

 

7. autoFlush

출력 버퍼의 동작 제어를 설정한다.

 

8. isThreadSafe

현재 JSP 페이지의 멀티스레드 허용 여부를 설정한다.

 

9. info

현재 JSP 페이지에 대한 설명을 설정한다.

 

10. errorPage

현재 JSP 페이지에 오류가 발생했을 때 보여줄 오류 페이지를 설정한다.

<%@ page errorPage="에러를 처리할 페이지.jsp" %>

 

11. isErrorPage

현재 JSP 페이지가 오류 페이지인지 여부를 설정한다.

isErrorPage를 true로 설정할 경우 페이지에서 exception 객체를 사용할 수 있게 된다.

생략 시 기본값은 false이다.

<%@ page isErrorPage="true" %>

<%= exception.getClass().getName() %>
<%= exception.getMessage() %>

* exception 객체

isErrorPage를 true로 설정할 경우 활성화되는 내장 객체

exception.getClass().getName() 을 통해 Exception 클래스명을 가져올 수 있으며

exception.getMessage() 를 통해 Exception 메시지를 가져올 수 있다.

 

또한 exception.printStackTrace() 를 통해 Java에서 자주 보던 예외 경로를 가져올 수 있다.

 

12. isELIgnored

현재 JSP 페이지의 표현 언어(EL) 지원 여부를 설정한다.

 

13. isScriptingEnabled

현재 JSP 페이지의 스크립트 태그 사용 여부를 설정한다.

false로 설정할 경우 페이지에서 스크립트 태그를 사용할 수 없게 된다.

<%@ page isScriptingEnabled="false" %>