JSP 지시어

HH_Nebula·2023년 1월 19일
0

지시어란?

지시어는 JSP 파일의 속성을 기술하는 요소로, JSP 컨테이너에 해당 페이지를 어떻게 처리해야 하는지를 전달하는 내용을 담고 있다. 지시어는 크게 page, include, taglib으로 나눌 수 있으며, 각각의 속성이 다르다.

기본 형식은 다음과 같다.

<%@ 지시어 속성="값" %>

page 지시어

page 지시어는 현재 JSP 페이지를 컨테이너에서 처리하는데 필요한 각종 속성을 기술하기 위해 사용하며 소스코드 맨 앞에 위치한다.

page 지시어의 구문과 사용 형식은 다음과 같다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*" errorPage="error.jsp" %>
  • language
    현재 페이지의 스크립트 언어를 지정하는 속성이다. 스펙상 다른 언어도 가능하지만 자바를 기본 언어로 한다.
  • contextType
    현재 페이지의 파일 형식을 지정하는 속성이다. 클라이언트 요청에 응답할 때 전달하는 HTTP 헤더 정보가 된다.
  • pageEncoding
    JSP 파일을 컨테이너가 처리할 때 사용하느 캐릭터 인코딩을 지정하는 속성이다. 올바른 한글 처리를 위해서는 UTF-8로 지정해야 한다.
  • import
    JSP 파일 내에서 자바 코드를 직접 사용하는 경우 일반 자바 코드와 마찬가지로 클래스에 대한 패키지 import가 필요하다.
  • errorPage
    현재 JSP 요청 처리 중에 에러가 발생하는 경우 서버 에러를 클라이언트에 전달하지 않고 별도의 페이지에서 처리하기 위한 속성이다. JSP에서 에러 페이지 설정을 넣는 것보다는 서버 설정을 사용하는 것을 권장한다.

include 지시어

include 지시어는 다른 파일을 포함하기 위한 지시어로, 사용된 위치에 특정 파일(HTML, jsp)을 불러온다. 컨테이너에서는 포함된 파일을 하나로 처리하며 자바 소스를 생성한 뒤 서블릿으로 컴파일한다. 즉 include에 사용된 파일의 내용을 모두 포함한 하나의 서블릿 코드로 생성되어 컴파일되는 것이다.

포함되는 파일의 경우 해당 파일을 직접 요청해서 실행하는 것이 아니라면 page 지시어, HTML 기본 태그 구성요소 등 개별 구성요소를 갖출 필요는 없다.

include 지시어는 원하는 위치에 자유롭게 사용할 수 있으며 다음과 같이 사용한다.

<%@ include file="파일 위치" %>
  • file
    포함하고자 하는 파일의 경로를 지정하며 상대 경로, 절대 경로를 사용할 수 있다.

taglib 지시어

taglib 지시어는 JSP의 태그 확장 매커니즘인 커스텀 태그를 사용하기 위한 지시어이다.

taglib 지시어의 구문과 사용 형식은 다음과 같다.

<%@ taglib ( uri="태그 라이브러리 경로" 혹은 tagdir="태그 파일 경로" ) prefix="태그 접두어" %>
  • uri
    태그 라이브러리 위치로 태그를 정의하고 있는 .tld 파일 경로를 나타낸다.
  • tagdir
    태그 파일로 태그를 구현한 경우 태그 파일 경로를 나타낸다.
  • prefix
    해당 태그를 구분해서 사용하기 위한 접두어다.

다음은 태그 파일로 커스텀 태그를 구현한 예시로 [WEB-INF/tags] 폴더에 있는 printData.tag 파일에 태그에서 처리할 내용이 작성되어 있다.

<%@ taglib tagdir="/WEB-INF/tags" prefix="m" %>
...
<h2><m:printData /></h2>
  • 접두어 m을 이용하여 printData.tag 태그를 사용한다.
profile
공부하고 기록하고 복습하고

0개의 댓글