JSP Directives

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 파일을 포함할 때 사용됩니다. 포함된 파일의 내용은 컴파일 시점에 포함됩니다. 이 디렉티브를 사용하면 코드의 재사용성을 높이고 유지보수를 용이하게 할 수 있습니다.

예제:

  1. header.jsp <div> <h1>This is the header</h1> </div>
  2. footer.jsp <div> <h1>This is the footer</h1> </div>
  3. 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.jspheader.jspfooter.jsp 파일을 포함하여 페이지를 구성합니다. 이는 코드의 모듈화를 도와줍니다.

태그라이브러리 디렉티브 (<%@ taglib %>)

태그라이브러리 디렉티브는 JSP 페이지에서 커스텀 태그 라이브러리를 사용할 때 사용됩니다. JSTL (JSP Standard Tag Library)과 같은 태그 라이브러리를 임포트하여 HTML 코드 작성과 자바 코드 사용을 분리할 수 있습니다.

예제:

  1. JSTL Core 라이브러리 사용 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  2. 사용 예제
    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:setc: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 페이지의 다양한 설정과 모듈화를 이해할 수 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *