JSP 디렉티브 (JSP Directives)
페이지 디렉티브 (<%@ page %>)
페이지 디렉티브는 JSP 페이지의 전체 설정을 정의하는 데 사용됩니다. 페이지 디렉티브는 여러 속성을 통해 JSP 페이지의 동작을 제어할 수 있습니다.
주요 속성:
contentType
: 응답의 MIME 타입을 설정합니다.import
: 자바 클래스 패키지를 임포트합니다.session
: 세션을 사용할지 여부를 설정합니다.isELIgnored
: EL(Expression Language)을 무시할지 여부를 설정합니다.errorPage
: 오류 발생 시 호출될 JSP 페이지를 지정합니다.isErrorPage
: 이 JSP 페이지가 오류 페이지인지 여부를 설정합니다.
예제:
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*, java.text.*" session="true" %> <html> <head> <title>Page Directive Example</title> </head> <body> <h1>Page Directive Example</h1> <% Date now = new Date(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = df.format(now); %> <p>Current Time: <%= currentTime %></p> </body> </html>
위 예제는 contentType
, import
, session
속성을 사용하여 페이지 디렉티브를 설정한 예제입니다.
include 디렉티브 (<%@ include %>)
include 디렉티브는 다른 JSP 파일을 포함할 때 사용됩니다. 포함된 파일의 내용은 컴파일 시점에 포함됩니다. 이 디렉티브를 사용하면 코드의 재사용성을 높이고 유지보수를 용이하게 할 수 있습니다.
예제:
- header.jsp
<div> <h1>This is the header</h1> </div>
- footer.jsp
<div> <h1>This is the footer</h1> </div>
- main.jsp
“`jsp
<%@ page contentType=”text/html;charset=UTF-8″ language=”java” %>
<%@ include file=”header.jsp” %> This is the main content <%@ include file=”footer.jsp” %>
“`
위 예제에서 main.jsp
는 header.jsp
와 footer.jsp
파일을 포함하여 페이지를 구성합니다. 이는 코드의 모듈화를 도와줍니다.
태그라이브러리 디렉티브 (<%@ taglib %>)
태그라이브러리 디렉티브는 JSP 페이지에서 커스텀 태그 라이브러리를 사용할 때 사용됩니다. JSTL (JSP Standard Tag Library)과 같은 태그 라이브러리를 임포트하여 HTML 코드 작성과 자바 코드 사용을 분리할 수 있습니다.
예제:
- JSTL Core 라이브러리 사용
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 사용 예제
jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>Taglib Directive Example</title> </head> <body> <h1>Taglib Directive Example</h1> <c:set var="message" value="Hello, JSTL!" /> <p><c:out value="${message}" /></p> </body> </html>
위 예제는 JSTL 코어 라이브러리를 임포트하고, c:set
및 c:out
태그를 사용하여 변수 설정과 출력을 수행하는 방법을 보여줍니다.
종합 예제 (Comprehensive Example)
모든 디렉티브를 종합적으로 사용하는 예제입니다.
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*, java.text.*" session="true" %> <%@ include file="header.jsp" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>Comprehensive JSP Example</title> </head> <body> <h1>Comprehensive JSP Example</h1> <% Date now = new Date(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = df.format(now); %> <p>Current Time: <%= currentTime %></p> <c:set var="user" value="John Doe" /> <p>Welcome, <c:out value="${user}" />!</p> <div> <p>This is the main content area.</p> </div> <%@ include file="footer.jsp" %> </body> </html>
이 종합 예제는 페이지 디렉티브, include 디렉티브, 태그라이브러리 디렉티브를 모두 포함하여 JSP 페이지를 구성하는 방법을 보여줍니다. 이를 통해 JSP 페이지의 다양한 설정과 모듈화를 이해할 수 있습니다.