페이지 모듈화 & 요청 흐름 제어



<jsp:include> 액션 태그

다른 JSP 페이지의 '실행' 결과를 현재 위치에 삽입

동작 방식



구문

<jsp:include page="포함할페이지" flush="true" />

- page 속성 : 포함할 JSP 페이지

- flush 속성 : 지정한 JSP 페이지를 실행하기 전에 출력 버퍼를 플러시 할 지의 여부를 지정한다. true이면 출력 버퍼를 플러시하고, false이면 하지 않는다.



중복 영역을 모듈화 하는 데 유용하다.



1) main.jsp (sub.jsp는 jsp:include로 불러옴)

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>main</title>

</head>

<body>

main.jsp에서 생성한 내용


<jsp:include page="sub.jsp" flush="false" />


include 이후의 내용.

</body>

</html>



2) sub.jsp (불려올 페이지)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<p>

sub.jsp에서 생성한 내용

</p>



3) 결과

main.jsp에서 생성한 내용

sub.jsp에서 생성한 내용

include 이후의 내용.







<jsp:param> 액션 태그

신규 파라미터를 추가하는 데 사용
<jsp:param name="파라미터이름" value="값" />

<jsp:include page="/module/top.jsp" flush="false">
    <jsp:param name="param1" value="value1" />
    <jsp:param name="param2" value="value2" />
</jsp:include>


기존 파라미터는 유지하고 파라미터를 새로 추가
<jsp:include>로 포함되는 페이지에서만 유효




include 디렉티브


코드 차원에서 포함

구문 : <%@ include file="포함 할 파일" %>


활용

- 모든 JSP 페이지에서 사용되는 변수 지정

- 저작권 표시와 같은 간단하면서도 모든 페이지에서 중복되는 문장




코드 조각 자동 포함 설정


web.xml 파일에 설정


<jsp-config>

    <jsp-property-group>

        <url-pattern>/view/*</url-pattern>

        <include-prelude>/common/variable.jspf</include-prelude>

        <include-coda>/common/footer.jspf</include-coda>

    </jsp-property-group>

</jsp-config>



각 태그의 의미

- jsp-property-group : JSP의 프로퍼티를 지정함

- url-pattern : 프로퍼티를 적용할 JSP 파일의 URL 패턴을 지정

- include-prelude : url-pattern 태그에서 지정한 패턴에 해당되는 JSP 파일의 앞에 자동으로 삽입될 파일을 지정

- include-coda : url-pattern 태그에서 지정한 패턴에 해당되는 JSP 파일의 뒤에 자동으로 삽입될 파일을 지정




<jsp:include> 액션 태그와 include 디렉티브






<jsp:forward> 액션 태그


하나의 JSP 페이지에서 다른 JSP 페이지로 요청 처리를 전달할 때 사용


동작 방식




구문
<jsp:forward page="이동할 페이지" />

출력 버퍼와의 관계




<jsp:forward> 액션 태그의 전형적 사용법

<%@ page contentType = "text/html; charset=euc-kr" %>
<%
    String forwardPage = null;
    
    // 조건에 따라 이동할 페이지를 지정
    if (조건판단1) {
        forwardPage = "페이지URI1";
    } else if (조건판단2) {
        forwardPage = "페이지URI2";
    } else if (조건판단3) {
        forwardPage = "페이지URI3";
    }
%>
<jsp:forward page="<%= forwardPage %>" />



기본 객체의 속성을 이용한 값 전달

속성을 이용해서 JSP 페이지 간 값 전달
- <jsp:include>나 <jsp:forward>에서 사용






Posted by netyhobby
,