- jsp 페이지에서 페이지의 모듈화와 흐름을 제어
- 자바빈 사용을 위해
- useBean, setProperty, getProgerty 액션테그 제공
- 사용법
- <jsp:include page=”포함될 페이지” flush=”false”>
- 포함될 페이지 : 상대 경로나 절대경로 사용
- page 속성 값은 표현식 사용 가능
- flush
- 포함될 페이지가 제어로 이동될 때 현재 포함하는 페이지가 지금까지 출력버퍼에 저장한 결과를 처리하는 방법
- true
- 지금까지 저장한 내용을 웹브라우저에 출력하고 버퍼를 비운다
1. include 액션태그
- 처리과정
- 웹브라우저가 a.jsp를 요청
- 서버는 페이지 처리 중, a.jsp페이지 출력내용을 출력 버퍼에 저장
- include 액션태그를 만나면 프로그램 제어를 b.jsp 페이지로 이동
- b.jsp페이지는 페이지 내 출력 내용을 출력 버퍼에 저장하는 등의 작업 처리
- b 처리가 끝나면 다시 a.jsp로 제어 이동
- 같은 request 내부 객체를 공유한다
includeTest
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String url = "date.jsp";
%>
<h1>main 페이지</h1>
<!-- include 액션태그를 이용 date.jsp 포함시키기 -->
<jsp:include page = "date.jsp"></jsp:include>
<h2>include 액션태그 - 표현식 이용</h2>
<jsp:include page="<%=url %>"></jsp:include>
<h2>include 액션태그 - param 이용</h2>
<jsp:include page = "date.jsp">
<jsp:param value ="5" name="no"/>
<jsp:param value ="홍길동" name="name"/>
</jsp:include>
</body>
</html>
date.jsp
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String no = request.getParameter("no");
String name = request.getParameter("name");
Date d = new Date();
String str = d.toLocaleString();
%>
<hr>
<p> no : <%=no %></p>
<p> name : <%=name %></p>
<p> 현재 일자 : <%=str %></p>
</body>
</html>
2. forward 액션 태그
- 페이지의 제어흐름을 현재 페이지에서 다른 페이지로 이동시킬 때 사용
- 페이지 내 액션태그를 만나면 그 전까지 출력 버퍼에 저장되어 있던 내용을 제거
- <jsp:forward page=”이동할 페이지명”/>
forwardTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form name="frm1" method="post" action="forwardTest_ok.jsp">
이름 : <input type="text" name="name"><br>
주소 : <input type="text" name="address"><br><br>
<input type="submit" value="전송">
</form>
</body>
</html>
foreardTest_ok.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
request.setAttribute("fruit","사과");
%>
<h1>forwardTest_ok.jsp</h1>
<jsp:forward page="b.jsp">
<jsp:param value="축구" name="hobby"/>
</jsp:forward>
</body>
</html>
b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name= request.getParameter("name");
String addr= request.getParameter("address");
String hobby= request.getParameter("hobby");
String fruit = (String)request.getAttribute("fruit");
%>
<h1>b.jsp 페이지</h1>
<h2>요청 파라미터</h2>
<p>name : <%=name %></p>
<p>address : <%=addr %></p>
<p>hobby : <%=hobby %></p>
<p>fruit : <%=fruit %></p>
</body>
</html>