TODAY TOTAL
[JSP] 4. 페이지 모듈화와 요청 흐름 제어
1. <jsp.include> 액션 태그

 

jsp.include는 화면 구성 요소의 코드 중복 문제를 없앨 때 사용할 수 있는 것이

바로 <jsp.include> 액션 태그이다.

 

<jsp.include> 액션 태그의 동작 방식

  1. main.jsp가 웹 브라우저의 요청을 받는다.
  2. [출력 내용A]를 출력 버퍼에 저장한다.
  3. <jsp.include>가 실행되면 요청 흐름을 sub.jsp로 이동한다.
  4. [출력 내용B]를 출력 버퍼에 저장한다.
  5. sub.jsp의 실행이 끝나면 요청 흐름이 다시 main.jsp의 <jsp.include>로 돌아온다.
  6. <jsp.include> 이후 부분인 [출력 내용C]를 출력 버퍼에 저장한다.
  7. 출력 버퍼의 내용을 응답 데이터를 전송한다.

 

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

page : 포함할 페이지 경로를 지정

flush : true면 출력 버퍼를 플러시, false는 반대

 

// info.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>INFO</title>
</head>
<body>
	<table width =100% border = 1 cellpadding=0 cellspacing=0>
<tr>
	<td> 제품번호</td> <td>XXXX</td>
</tr>
<tr>
	<td> 가격</td> <td>10,000원</td>
</tr>
</table>

<jsp:include page="infoSub.jsp" flush ="false">
	<jsp:param value="A" name="type"/> <!--info.jsp에 이름이 타입이고 값이 A인 파라미터를 추가로 전달한다.  -->
</jsp:include>
</body>
</html>

 

//infoSub.jsp

<%@ contentType="text/html; charset=UTF-8"%>
<%

	String type = request.getParameter("type"); // info.jsp에서 전달한 type 파라미터의 값을 읽어온다
	if(type == null) { // type 파라미터가 null이면 반환한다.
		return;
	}
%>
<br>
<table width = "100%" border = "1" cellpadding="0" cellspacing="0">
<tr>
	<td>타입</td>
	<td><b><%= type %> </b> </td>
</tr>
<tr>
	<td>특징</td>
	<td>
<% if(type.equals("A")) { %>
	강한 내구성.
<% } else if(type.equals("B")) { %>
	뛰어난 대처 능력
	<% } %>
		</td>
	</tr>
</table>

 

<jsp:param>액션 태그는 <jsp:include> 액션 태그의 자식 태그로 추가한다.

<jsp:param> 의 name 속성과 value 속성은 각각 포함할 페이지에 새로 추가할 파라미터의 이름과 값을 입력한다.

 

비교항목 <jsp:include> include 디렉티브
처리 시간 요청 시간에 처리 JSP 파일을 자바 소스로 변환할 때 처리
기능 별도의 파일로 요청 처리 흐름을 이동 현재 파일에 삽입시킴
데이터 전달 방법 request 기본 객체나 <jsp:pram>을 이용 페이지 내의 변수를 선언한 후, 변수에 값 저장
용도 화면의 레이아웃의 일부분을 모듈화할 때 주로 사용한다. 다수의 JSP 페이지에서 공통으로 사용되는 변수를 지정하는 코드나 저작권과 같은 문장을 포함한다.

 

 

<jsp:forward> 액션 태그는 하나의 JSP 페이지에서 다른 JSP 페이지로 요청 처리를 전달할때 사용

<jsp:forward>의 요청 흐름

  1. 웹 브라우저 요청을 from.jsp에 전달한다.
  2. from.jsp는 <jsp:forward> 액션 태그를 실행한다.
  3. <jsp:forward> 액션 태그를 실행하면 요청 흐름이 to.jsp로 이동한다.
  4. 요청 흐름이 이동할 때 from.jsp에서 사용한 request 기본 객체와 response 기본 객체가 to.jsp로 전달
  5. to.jsp가 응답 결과를 생성한다.
  6. to.jsp가 생성한 결과가 웹 브라우저에 전달된다.

 

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

 

 

'Back-End > JSP' 카테고리의 다른 글

[JSP] 6. 쿠키와 세션  (1) 2021.06.12
[JSP] 5. 자바빈과 <jsp:useBean> 액션 태그  (0) 2021.06.09
[JSP] 3. 에러처리  (0) 2021.06.06
[JSP] 2. 버퍼와 기본객체  (0) 2021.06.05
[JSP] 1. 기본 코드 구조와 request,response 처리  (0) 2021.06.05
  Comments,     Trackbacks