728x90
반응형
[ Forward ActionTag ]
기본 문법
<jsp:forward page="[page path]">
<jsp:param value="[page에 전송할 value]" name="[전송할 때 부여할 name]"/>
</jsp:forward>
* value 값으로 한글이 들어갈 때
> forward-action 페이지
jsp forward 액션 태그에서 param으로 한글을 전송하기 위해서는 한글 인코딩이 별도로 필요하다!
<% [datatype] [변수명] = URLEncoder.encode("[value]", "utf-8"); %>
<jsp:forward page="[view-page path]">
<jsp:param value="<%=[변수명] %>" name="[name]" />
</jsp:forward>
> view 페이지
jsp forward param 한글 정보를 받기위해서는 한글 처리(디코딩)가 필요하다
<% [DataType] [변수명] = URLDecoder.decode(request.getParameter("[name]"), "utf-8"); %>
적용 예제
forward-form.jsp -- forward-action.jsp
파프리카님 89세 성인입니다.
→ 만약 19세 이하이면
jsp forward action tag를 이용해
child-view.jsp에서 응답하게 한다.
/forward-form.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP Forward ActionTag 연습</title>
</head>
<body>
<%--
<form action="forward-action.jsp">
이름 <input type="text" name="userName"><br>
나이 <input type="number" name="userAge"><br>
<input type="submit" value="입장하기"><br>
</form>
</body>
</html>
/forward-action.jsp
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forward-action</title>
</head>
<body>
<%
String name = request.getParameter("userName");
int age = Integer.parseInt(request.getParameter("userAge"));
if (age > 19) {
%>
<%=age%>세 성인
<%=name%>입니다.
<%
} else {
//jsp forward 액션 태그에서 param으로 한글을 전송하기 위해서는
//한글 인코딩이 별도로 필요하다
String info = URLEncoder.encode("테스트", "utf-8");
%>
<jsp:forward page="child-view.jsp">
<jsp:param value="list" name="command" />
<jsp:param value="<%=info %>" name="info" />
</jsp:forward>
<%
}
%>
</body>
</html>
/child-view.jsp
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>child-view</title>
</head>
<body bgcolor="yellow">
<%=request.getParameter("userAge") %>세
<%=request.getParameter("userName") %>님 <br>
미성년자 페이지입니다.<hr>
<%=request.getParameter("command")%><br><br>
<%
//jsp forward param 한글 정보를 받기위해서는
//한글 처리(디코딩)가 필요하다
String info = URLDecoder.decode(request.getParameter("info"), "utf-8");
%>
<%=info %><br><br>
<a href="forward-form.jsp">입장 페이지로</a>
</body>
</html>
시작 폼
→ 성인인 경우
→ 미성년자인 경우
728x90
반응형
'Java Web Programming > 4. JSP' 카테고리의 다른 글
[JSP] Include Action Tag - 페이지 모듈화 (0) | 2020.09.15 |
---|---|
[JSP] Forward ActionTag 액션태그 응용 (DB 연동) (0) | 2020.09.15 |
[부트스트랩/BootStrap] 반응형 웹, 미디어쿼리, 부트스트랩(그리드, 테이블) (0) | 2020.09.14 |
[JSP] DBCP + Model2 MVC Pattern (+ 각 객체 개념설명) (0) | 2020.09.14 |
[JSP] DB(SQL)의 date 타입을 이용한 Model 2 설계방식 프로그램 구현 (0) | 2020.09.04 |