Chapter 3 디렉티브 태그 : 한글 출력 및 페이지 모듈화하기

Ruinak·2021년 5월 10일
0

JSP 웹 프로그래밍

목록 보기
3/5
post-thumbnail

3-1 디렉티브 태그의 개요

  • JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그
  • JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때 JSP 페이지와 관련된 정보를 JSP 컨테이너에 지시하는 메시지
  • 디렉티브 태그는 JSP 페이지를 수정하여 다시 컴파일하는 경우에만 역할을 수행하기 때문에 개별 HTML 응답에 특별한 영향을 미치지 않음
  • 디렉티브 태그의 종류
    - page : JSP 페이지에 대한 정보를 설정함. <%@ page...%>
    - include : JSP 페이지의 특정 영역에 다른 문서를 포함함. <%@ include...%>
    - taglib : JSP 페이지에서 사용할 태그 라이브러리를 설정함. <%@ taglib...%>

3-2 page 디렉티브 태그의 기능과 사용법

  • 현재 JSP 페이지에 대한 정보를 설정하는 태그임.
  • 형식 : <%@ page 속성1 = "값1" [속성2 = "값2"]%>
    - %와 @ 사이에 공백이 없어야 함
  • JSP 페이지가 생성할 콘텐츠 유형의 문서, 사용할 자바 클래스, 오류 페이지 설정, 세션 사용 여부, 출력 버퍼의 존재 유무 등과 같이 JSP 컨테이너가 JSP 페이지를 싱행하는데 필요한 정보를 설정할 수 있음
  • JSP 페이지의 어디에서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언하는 것을 권장함

    3-2는 아직은 간단히 보고 넘어가도 되는 내용. 추후에 제대로 공부필요!

2.1 language 속성

  • 현재 JSP 페이지에서 사용할 프로그래밍 언어를 설정하는데 사용
  • 기본 값은 java이지만 향후 JSP 컨테이너가 자바 이외의 언어를 지원할 수 있도록 하기 위한 속성
  • language 속성 사용 Ex
    - <%@ page language = "java" %>

2.2 contentType 속성

  • 현재 JSP 페이지의 콘텐츠 유형(MIME-type)을 설정하는데 사용
  • 콘텐츠 유형은 주로 text/html, text/xml, text/plain 등이며 기본 값은 text/html임
  • contentType 속성 사용 Ex
    - <%@ page contentType = "text/html" %>

2.3 pageEncoding 속성

  • 현재 JSP 페이지의 문자 인코딩 유형을 설정하는데 사용
    - <%@ page pageEncoding ="문자 인코딩 유형" %>

2.4 import 속성

  • 현재 JSP 페이지에서 사용할 자바클래스를 설정하는데 사용
    - <%@ page import ="자바 패키지 이름" %>

2.5 sesstion 속성

  • 현재 JSP 페이지의 HTTP 세션 사용 여부를 결정하는데 사용
    - <%@ page sesstion ="true or false" %>

2.6 buffer 속성

  • 현재 JSP 페이지의 출력 버퍼 크기를 설정하는데 사용
    - <%@ page buffer ="버퍼 크기 or none" %>

2.7 autoFlush 속성

  • 자동으로 출력 버퍼를 비우는 것을 제어하는데 사용
    - <%@ page autoFlush ="true or false" %>

2.8 isThreadSafe 속성

  • 현재 JSP 페이지에서 멀티스레드의 동작을 제어하는데 사용
    - <%@ page isThreadSafe ="true or false" %>

2.9 info 속성

  • 현재 JSP 페이지에 대한 설명을 설정하는데 사용
  • JSP 페이지의 설명 부분으로서 주석문의 기능과 같기 때문에 JSP 컨테이너는 info 속성을 무시함
    - <%@ page info ="주석문의 기능과 같음" %>

2.10 errorPage 속성

  • 현재 JSP 페이지가 실행되는 동안 오류가 발생하면 특정 오류 페이지로 이동하는데 사용
    - <%@ page errorPage ="이동할 오류 페이지" %>

2.11 isErrorPage 속성

  • 현재 JSP 페이지가 오류 페이지인지 여부를 설정하는데 사용
    - <%@ page isErrorPage ="true" %>

2.12 isELIgored 속성

  • 현재 JSP 페이지의 표현 언어(expression language) 사용 여부를 설정하는데 사용
    - <%@ page isELIgored ="true" %>

2.13 isScriptingEnabled 속성

  • 스크립트 태그(선언문, 스크립틀릿, 표현문) 사용 여부를 설정하는데 사용
    - <%@ page isScriptingEnabled ="true or false" %>

3-3 include 디렉티브 태그의 기능과 사용법

  • 이름에서 알 수 있듯이 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
  • 형식
    - <%@ include file ="파일명" %>
    - file 속성 값은 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명임
    - 이때 외부 파일이 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명만 설정하고, 아니라면 전체 URL을 설정해야 함
  • 현재 JSP 페이지에 포함할 수 있는 외부 파일은 HTML, JSP, 텍스트 파일 등
  • include 디렉티브 태그는 JSP 페이지 어디에서든 선언할 수 있음
  • include 디렉티브 태그는 서블릿 프로그램으로 번역될 때 현재 JSP 페이지와 설정된 다른 외부 파일의 내용이 병합되어 번역됨
  • 현재 JSP 페이지에서 include 디렉티브 태그가 사용된 위치에 설정된 파일의 원본 내용을 '있는 그대로' 붙여넣은 다음 전체 페이지를 자바 코드(서블릿)로 변환함
  • include 디렉티브 태그는 머리글과 바닥글 같은 공통된 부분을 별도의 JSP 파일로 만들어 웹 페이지를 모듈화할 수 있음
    - 코드를 재사용하고 중복된 코드를 줄임으로써 유지 보수 측면에서 매우 유용함
    - 공통된 부분을 외부 파일로 만들면 머리글이나 바닥글의 내용으 변경해야 할 때 마다 한 곳에서 할 수 있음

디렉티브 태그 사용 예

예제 3-1 include 디렉티브 태그로 외부 파일의 내용 포함하기

예제 3-2 include 디렉티브 태그로 머리글과 바닥글에 외부 파일 내용 포함하기

3-4 taglib 디렉티브 태그의 기능과 사용법

  • 현재 JSP 에피지에 표현 언어, JSTL, 사용자 정의 태그(custom tag) 등 태그 라이브러리를 설정하는 태그
  • 형식
    - <%@ taglib uri="경로" prefix="태그 식별자" %>
    - uri 속성은 사용자가 정의한 태그의 설정 정보를 가진 경로 주소
    • prefix 속성은 uri에 설정한, 사용자가 정의한 태그를 식별하기 위한 고유 이름
    • 해당 JSP 페이지 내에서 uri 속성 값을 그대로 사용하면 복잡하므로 prefix 속성 값이 대신 식별할 수 있게 해주는 것
  • taglib 디렉티브 태그가 서블릿 프로그램으로 번역될 때 uri 속성 값은 JSP 컨테이너에 사용자가 정의한 태그 라이브러리의 위치를 알려줌
  • prifix 속성 값은 사용자가 정의한 태그 라이브러리의 접두어 태그가 무엇인지 JSP 컨테이너에 알려주는 열할을 함

taglib 디렉티브 태그 사용 예

profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글