JSP

[JAVA] 3. JSP 디렉티브 태그

leui 2022. 4. 24. 22:35

- 디렉티브 태그 개요

디렉티브 태그는 JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그이다. 디렉티브 태그는 JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때 JSP 페이지와 관련된 정보를 JSP 컨테이너에 지시하는 메세지다. 따라서 디렉티브 태그는 JSP 페이지를 수정하여 다시 컴파일하는 경우에만 역할을 수행하기 때문에 개별 HTML 응답에 특별한 영향을 미치지 않는다.

 

디렉티브 태그 형식 설명
page <%@ page ... %> JSP 페이지에 대한 정보를 설정
include <%@ include ... %> JSP 페이지의 특정 영역에 다른 문서를 포함
taglib <%@ taglib%> JSP 페이지에서 사용할 태그 라이브러리를 설정

 

- page 디렉티브 태그

page 디렉티브 태그는 현재 JSP 페이지에 대한 정보를 설정하는 태그다. page 태그는 JSP 페이지가 생성할 콘텐츠 유형의 문서, 사용할 자바 클래스, 오류 페이지 설정, 세션 사용 여부, 출력 버퍼의 존재 유뮤 등과 같이 JSP 컨테이너가 JSP 페이지를 실행하는 데 필요한 정보를 설정할 수 있다. (일반적으로 JSP 페이지의 최상단에 선언)

 

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

 

ㄴ import 속성

import 속성은 현재 JSP 페이지에서 사용할 자바 클래스를 설정하는 데 쓰인다.

 

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

 

- include 디렉티브 태그

include 디렉티브 태그는 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그이다.

(포함할 수 있는 외부 파일은 HTML, JSP, 텍스트 파일 등)

 

<%@ include file="file name" %>

 

include 디렉티브 태그는 서블릿 프로그램으로 번역될 때  현재 JSP 페이지와 설정된 다른 외부 파일의 내용이 병합되어 번역된다. 즉 현재 JSP 페이지에서 include 디렉티브 태그가 사용된 위치에 설정된 파일의 원본 내용을 '있는 그대로' 붙여넣은 다음 전체 페이지를 자바코드(서블릿)로 변환한다.

inlcude 태그는 코드 재사용의 향상시킨다. (header.jsp, footer.jsp 같이 여러 페이지에 모듈화해서 사용)

 

- taglib

taglib 디렉티브 태그는 현재 JSP 페이지에 태그 라이브러리를 설정하는 태그이다.

 

<%@ taglib uri="경로" prefix="태그 식별자" %>

 

taglib 디렉티브 태그가 서블릿 프로그램으로 번역될 때 uri 속성 값은 JSP 컨테이너에 사용자가 정의한 태그 라이브러리의 위치를 알려준다. 다음은 taglib 디렉티브 태그에 태그라이브러리로 JSTL을 설정하는 예이다. 

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
...