티스토리 뷰
<jsp:forward> 액션태그
<jsp:forward> 액션태그는 하나의 jsp 페이지에서 다른 jsp 페이지로 요청 처리를 전달할 때 사용됩니다. <jsp:inclde>와 include 디렉티브와는 다음과 같은 차이점이 있습니다.
● <jsp:forward>를 통해 요청 처리를 전달받은 페이지가 응답 결과를 웹 브라우저에게 요청을 합니다.
● 요청 처리를 전달받은 페이지는 요청 전달을 했던 페이지의 기본 객체를 그대로 사용합니다.
<jsp:forward> 액션 태그는 간결하고 구조적인 프로그래밍을 위해 사용이 되며 다양한 조건에 따른 처리를 해야 하는 경우 <jsp:forward> 액션 태그를 사용하여 각 조건을 처리하는 jsp를 분리하여 기능별로 모듈화가 가능합니다.
<jsp:forward> 액션 태그의 기본 문법은 다음과 같습니다.
<jsp:forward page="이동할 페이지"/>
실제 조건에 따라서 처리를 할 수 있는 jsp 페이지를 모듈화하고 조건에 따라 <jsp:forward>를 통해 요청 처리를 전달해보는 예제를 살펴보겠습니다.
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
이동하실 페이지를 선택하세요.
<form action="view.jsp">
<select name="code">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<input type="submit" value="이동"/>
</form>
</body>
</html> |
먼저 간단한 form을 구현하도록 합니다. 어떤 option 태그를 선택하느냐에 따라 응답 결과가 다르게 구현해 보겠습니다.
다음으로 '이동' 버튼을 클릭 하였을 때 처리 요청을 받는 view.jsp의 내용입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String select_item= request.getParameter("code");
String pageURL=null;
if(select_item.equals("A"))
{
pageURL = "/A.jsp";
}
else if(select_item.equals("B"))
{
pageURL = "/B.jsp";
}
else if(select_item.equals("C"))
{
pageURL = "/C.jsp";
}
%>
<jsp:forward page="<%=pageURL %>" />
|
view.jsp는 select 되어진 item의 값을 requeste.getParameter()를 통해 얻어와서
if~else if를 통해서 읽어온 값에 따라 pageURL의 값을 설정해줍니다. 최종적으로 pageURL의 값에 따라서 <jsp:forward>태그를 통해 처리 흐름을 이동합니다.
A.jsp, B.jsp, C.jsp는 별내용은 없고 그저 자신이 없던 페이지의 응답 결과인지 보여주는 문자열을 보여줍니다.
'Programming > JSP' 카테고리의 다른 글
08 쿠키를 사용한 로그인 상태 유지하기 (1) | 2017.09.24 |
---|---|
07 쿠키(Cookie)의 기본 (0) | 2017.09.22 |
05 <jsp:include> 액션 태그와 include 디렉티브 (0) | 2017.09.11 |
04 데이터베이스 프로그래밍 - UPDATE,INSERT,DELETE문 (0) | 2017.09.10 |
03 데이터베이스 프로그래밍 - 테이블 생성 및 조회하기 (2) | 2017.09.06 |