ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP - 디렉티브 이해하기: page, include, taglib
    JSP 2024. 8. 29. 11:33
    반응형

    JSP 디렉티브 이해하기: page, include, taglib

     

    JSP에서 골뱅이(@) 기호는 디렉티브를 정의할 때 사용됩니다. 디렉티브는 JSP 페이지의 동작에 영향을 미치는 메타데이터와 같은 역할을 합니다. JSP에서 사용할 수 있는 주요 디렉티브와 그 예시는 다음과 같습니다.

     

    1. page 디렉티브 (<%@ page ... %>)

    page 디렉티브는 JSP 페이지의 전반적인 속성을 설정하는 데 사용됩니다. 다음은 자주 사용하는 속성과 그 예시입니다:

    • contentType: 페이지의 콘텐츠 유형을 설정합니다.
    <%@ page contentType="text/html;charset=UTF-8" %>

     

    이 설정은 JSP 페이지의 출력이 HTML이고, 문서 인코딩이 UTF-8임을 지정합니다.

     

    • import: 자바 클래스 패키지를 JSP 페이지에 import할 때 사용됩니다.
    <%@ page import="java.util.List, java.util.ArrayList" %>

     

    이 설정은 List와 ArrayList 클래스에 접근할 수 있게 합니다.

     

     

    • errorPage: 예외가 발생했을 때 이동할 오류 페이지를 지정합니다.
    <%@ page errorPage="error.jsp" %>

     

     

    이 설정은 현재 페이지에서 예외가 발생하면 error.jsp 페이지로 이동합니다.

     

    • isErrorPage: 현재 페이지가 오류 페이지인지를 지정합니다.
    <%@ page isErrorPage="true" %>

     

    이 설정은 이 페이지가 오류를 처리하는 페이지임을 나타냅니다.


    2. include 디렉티브 (<%@ include ... %>)

    include 디렉티브는 다른 JSP 파일을 현재 JSP 파일에 포함시킬 때 사용됩니다. 이는 정적 포함(static include)으로, JSP 페이지가 컴파일될 때 포함된 파일의 내용을 현재 JSP 페이지에 삽입합니다.

     

    • 사용 예:
    <%@ include file="/WEB-INF/jsp/include/i18n.jsp" %>

    이 설정은 /WEB-INF/jsp/include/i18n.jsp 파일의 내용을 현재 JSP 페이지에 포함합니다. 이 방식으로 헤더, 푸터, 공통적인 설정 등을 여러 페이지에서 재사용할 수 있습니다.

     

     

    3. taglib 디렉티브 (<%@ taglib ... %>)

    taglib 디렉티브는 JSP에서 커스텀 태그 라이브러리를 사용할 때 사용됩니다. 이를 통해 개발자는 커스텀 태그를 정의하고 사용할 수 있습니다.

    • 사용 예:
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    이 설정은 JSTL(JSP Standard Tag Library)의 코어 라이브러리를 사용하겠다는 선언입니다. 이 선언을 통해 c:로 시작하는 태그(JSTL 코어 태그)를 사용할 수 있게 됩니다.

    <c:if test="${user.loggedIn}">
        Welcome, ${user.name}!
    </c:if>

    위의 예시는 c:if 태그를 사용하여 조건에 따라 특정 HTML을 출력하는 방법을 보여줍니다.

     

     

    4. 예시: 여러 디렉티브의 사용

    다음은 여러 디렉티브를 사용하여 JSP 페이지를 설정하는 예시입니다.

    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ page import="java.util.List, java.util.ArrayList" %>
    <%@ include file="/WEB-INF/jsp/include/header.jsp" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <html>
    <head>
        <title>Sample JSP Page</title>
    </head>
    <body>
        <%-- Header 포함 --%>
        <jsp:include page="/WEB-INF/jsp/include/header.jsp" />
    
        <%-- JSTL을 사용한 조건 처리 --%>
        <c:if test="${not empty user}">
            <h1>Welcome, ${user.name}!</h1>
        </c:if>
    
        <%-- Footer 포함 --%>
        <jsp:include page="/WEB-INF/jsp/include/footer.jsp" />
    </body>
    </html>

    이 예시에서는 page, include, taglib 디렉티브를 사용하여 JSP 페이지의 동작을 설정하고, 다른 파일을 포함시키며, JSTL 태그를 사용할 수 있게 하고 있습니다.

    반응형

    댓글

Designed by Tistory.