[Day 21 | JSP] JSP - include 액션 태그와 디렉티브

y♡ding·2024년 11월 11일
0

데브코스 TIL

목록 보기
139/163

<jsp:include /> 액션 태그는 JSP 페이지에서 다른 JSP 파일을 실행 시점에 동적으로 포함하는 방법입니다. 이 태그는 정적인 내용을 포함하는 <%@ include %> 지시자와 달리, 요청할 때마다 포함된 JSP 파일을 로드하므로 변경된 내용을 즉시 반영할 수 있는 장점이 있습니다.

<jsp:include /> 액션 태그의 특징

  1. 실행 시점에 포함: <jsp:include />는 요청이 들어올 때마다 포함된 JSP 파일을 로드하므로, 포함된 파일이 변경되면 JSP를 다시 컴파일할 필요 없이 즉시 반영됩니다.
  2. 동적 콘텐츠 포함에 적합: 주로 사용자 정보, 최신 게시물, 실시간 데이터 등을 표시하는 동적 콘텐츠 포함에 유용합니다.
  3. 파라미터 전달 가능: <jsp:param /> 태그를 사용하여 포함된 JSP 파일에 파라미터를 전달할 수 있어, 동적인 데이터 처리가 가능합니다.

<jsp:include /> 액션 태그 문법

<jsp:include page="파일경로">
    <jsp:param name="파라미터명" value="" />
</jsp:include>
  • page: 포함할 JSP 파일의 경로를 지정합니다. 이 경로는 현재 JSP 파일을 기준으로 상대 경로로 지정할 수 있습니다.
  • <jsp:param />: 파라미터를 포함된 JSP 파일에 전달할 수 있으며, namevalue 속성을 사용하여 전달할 파라미터 이름과 값을 지정합니다.

예제

아래는 index.jsp 파일에서 <jsp:include /> 태그를 사용하여 다른 JSP 파일(header.jspfooter.jsp)을 포함하고, 파라미터를 전달하는 예제입니다.

<!-- index.jsp -->
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>메인 페이지</title>
</head>
<body>

    <!-- header.jsp 포함, 파라미터 전달 -->
    <jsp:include page="header.jsp">
        <jsp:param name="username" value="홍길동" />
        <jsp:param name="welcomeMessage" value="환영합니다!" />
    </jsp:include>
    
    <h1>메인 콘텐츠</h1>
    <p>여기에 메인 콘텐츠가 표시됩니다.</p>
    
    <!-- footer.jsp 포함 -->
    <jsp:include page="footer.jsp" />

</body>
</html>

<!-- header.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String username = request.getParameter("username");
    String welcomeMessage = request.getParameter("welcomeMessage");
%>

<header>
    <h2>안녕하세요, <%= username %>님</h2>
    <p><%= welcomeMessage %></p>
    <hr/>
</header>

<!-- footer.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<footer>
    <hr/>
    <p>Footer 내용: 여기에 공통 푸터가 표시됩니다.</p>
</footer>

<%@ include %> 디렉티브의 특징

  • 정적 포함: 컴파일 시점에 포함 파일의 내용을 현재 JSP 파일에 삽입합니다. 이를 정적 포함이라고 합니다.
  • 반복적인 코드 포함: 헤더, 푸터, 메뉴와 같은 반복되는 요소를 여러 JSP 파일에 동일하게 포함할 때 유용합니다.
  • 파일 변경 시 재컴파일 필요: 포함된 파일이 변경되면, JSP 파일을 다시 컴파일해야 변경 사항이 반영됩니다.

문법

<%@ include file="파일경로" %>
  • file : 포함할 파일의 경로를 지정합니다. 이 경로는 현재 JSP 파일을 기준으로 상대 경로로 지정할 수 있습니다.

예제

<!-- index.jsp -->
<%@ include file="header.jsp" %>

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>메인 페이지</title>
</head>
<body>

    <h1>메인 콘텐츠</h1>
    <p>여기에 메인 콘텐츠가 표시됩니다.</p>

</body>
</html>

<%@ include file="footer.jsp" %>

<!-- header.jsp -->
<header>
    <h2>사이트 헤더</h2>
    <nav>
        <a href="index.jsp"></a> |
        <a href="about.jsp">소개</a> |
        <a href="contact.jsp">연락처</a>
    </nav>
    <hr/>
</header>

<!-- footer.jsp -->
<footer>
    <hr/>
    <p>사이트 푸터: 여기에 공통 푸터가 표시됩니다.</p>
</footer>
특성<%@ include %> 디렉티브<jsp:include /> 액션 태그
포함 시점컴파일 시점실행 시점
파일 변경 시 반영 여부JSP 파일 재컴파일 필요변경 사항 즉시 반영
주요 용도공통 레이아웃(정적 콘텐츠) 포함동적 콘텐츠나 파라미터 전달 필요 시
파라미터 전달 가능 여부불가능가능

0개의 댓글

관련 채용 정보