본문 바로가기

프로그래밍/JSP

[JSP 요약 정리] 8. 페이지 모듈화와 요청 흐름 제어

8. 페이지 모듈화와 요청 흐름 제어

1) <jsp:include> 액션 태그

- JSP페이지의 특정 영역에 문서를 포함시킬 수 있는 액션 태그

- 사용 목적

공통 구성요소를 따로 작성해서 코드 중복을 최소화

공통 코드의 수정을 용이

레이아웃의 한 구성요소를 모듈화

- 사용 방법

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

*flush 속성: 지정한 JSP 페이지를 실행하기 전 출력 버퍼 flush여부(기본값 false)


2) <jsp:param> 액션 태그

- include 액션 태그의 하위 태그로써 포함할 JSP 페이지에 파라미터 추가 가능

- 양식

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

<jsp:param name="파라미터1" value="값1" />

<jsp:param name="파라미터2" value="값2" />

</jsp:include>

- 파라미터 값의 올바른 전달을 위해 request.setCharacterEncoding() 메소드를 사용


3) <%@ include%> 디렉티브

- 사용 목적: 모든 페이지에서 사용하는 변수 지정, 모든 페이지에 중복되는 간단한 문장 저장

- include 액션태그와 포함 방식이 상이

-> include 액션태그는 실행 흐름을 포함된 페이지로 이동

-> include 디렉티브는 파일의 내용을 삽입 후 컴파일

*액션 태그는 request 혹은 param 액션태그를 통해 값 전달, 디렉티브는 변수를 통해 전달


- include 디렉티브를 통해 다른 JSP에 포함되는 JSP파일의 확장자를 jspf로 하는 관례 존재


- 양식

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


4) XML을 이용한 include

- web.xml 파일에 지정하면 모든 파일에서 일일이 포함시킬 필요 없음

- 양식

<jsp-config>

<jsp-property-group>

<url-pattern>URL패턴</url-pattern> // 적용 범위 지정, ex. /경로/* , *.jsp

<include-prelude>URL패턴의 앞에 삽입될 파일</include-prelude>

<include-coda>URL패턴의 뒤에 삽입될 파일</include-coda>

</jsp-property-group>

</jsp-config>



5) <jsp:forward> 액션 태그

- 다른 JSP 페이지로 요청 처리 전달시 사용

- 전달하는 페이지의 request, response 객체를 전달받는 페이지에 그대로 전달

- 웹브라우저에서는 전달하는 페이지의 주소를 사용하고 전달받는 페이지의 결과가 출력

- 출력 버퍼를 비우고 전달하게 되는데 이미 flush된 상태라면 흐름 이동 불가

- forward 액션태그에서도 param 액션태그 사용 가능

- 양식: <jsp:forward page="이동할 페이지" />