jsp:forward
Action tag 는 JSP를 이루는 요소 중 하나이다.
액션태그는 대표적으로 페이지와 페이지 사이의 제어를 이동시키는 forward 액션태그와 다른 페이지를 포함시킬 수 있는 include 액션태그가 있다. 또한 데이터를 담는 객체인 자바빈을 쓸 수 있는 useBean 액션태그도 있다.
액션태그 사용 문법은 다음과 같다.
forward_test.jsp 안의 코드이다.
<jsp:forward page="news.jsp">
<jsp:param name="email" value="hi@naver.com"/>
<jsp:param name="tel" value="123-789"/>
</jsp:forward>
액션태그는 xml 문법을 따르기 때문에 태그를 닫아주어야 한다.
바디가 없을 경우 <jsp:forward page="news.jsp" /> 이런 문법도 가능!
그렇다면 forward 액션태그는 어떤 기능을 하고 왜 쓰는가?
간단하게 말하자면, forward 액션태그는 웹페이지 간 요청 흐름의 이동이다.
그렇기 때문에 forward 액션태그를 부른 페이지의 출력 결과는 forward 액션태그가 불러진 이후 다 사라진다.
위의 코드를 예로 들자면,
forward_test.jsp의 기존 출력결과들은 news.jsp로 요청흐름이 이동되었을 때 다 지워지고 news.jsp의 출력결과가 보여진다.
하지만 url를 보면 news.jsp가 아니라 forward_test.jsp이다.
forward 액션태그는 일정 조건에 맞는 페이지를 부를 때 사용된다.
( 여기서 일정 조건이란 forward_text.jsp에서 받는 값에 따른 조건이라고 할 수 있다.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 |
<%@ page contentType = "text/html; charset=euc-kr" %>
<%
String code = request.getParameter("code");
String viewPageURI = null;
if (code.equals("A")) {
viewPageURI = "/viewModule/a.jsp";
} else if (code.equals("B")) {
viewPageURI = "/viewModule/b.jsp";
} else if (code.equals("C")) {
viewPageURI = "/viewModule/c.jsp";
}
%>
<jsp:forward page="<%= viewPageURI %>" />
|
cs |