forward : 다른 페이지로 프로그램의 제어를 이동하는 경우에 사용
현재 클라이언트의 요청을 실행 시에 다른 자원으로 이동
특징
- pageContext 내장 객체의 forward() 메소드가 태그로 구현된 기능
- 이동되기 전의 페이지의 출력 버퍼에 있던 내용은 모두 사라짐
- 응답이 완료되면 이전 페이지로 돌아가지 않고 모든 응답이 종료
- 이전 페이지의 request/response 객체가 그대로 넘겨짐(sendRedirect 메소드와 다른 점)
- 파라미터를 전달하기 위해 태그 사용 가능
사용형식
- <jsp:forward page "이동될페이지명" />
- <jsp:forward page "이동될페이지명" ><js[:forward>
- <jsp:forward page "<%=표현식 + "jsp"%>" />
- -[이동될페이지명]은 상대 경로/ 절대 경로/표현식 모두 가능하다
param액션 태그
- <jsp:forward page "이동될페이지명" />
- <jsp:param name = "paramName1" value = "var1/>
- <jsp:param name = "paramName2" value = "var2/>
- </jsp:forward?
예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Ex01_form.jsp<br>
<form method="post" action="Ex01_via.jsp">
이름 : <input type="text" name="name"><br><br>
비번 : <input type="text" name="pw"><br><br>
<input type="submit" value="보내기"><br><br>
</form>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Ex01_via.jsp<br>
<%
request.setCharacterEncoding("UTF-8");
%>
<%
String name = request.getParameter("name");
String pw = request.getParameter("pw");
System.out.println("Ex01_via.jsp");
System.out.println("name: " + name);
System.out.println("pw: " + pw);
%>
nam : <%= name %>살 <br>
pw : <%= pw %> <br>
forward 액션태그<br>
<jsp:forward page="Ex01_result.jsp">
<jsp:param value="30" name="age"/>
</jsp:forward>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Ex01_result.jsp<br>
<%
String name = request.getParameter("name");
String pw = request.getParameter("pw");
String age = request.getParameter("age");
%>
name: <%= name %><br>
pw: <%= pw %><br>
age: <%= age %>살<br>
실행결과
'JSP' 카테고리의 다른 글
[JSP] JDBC을 이용하여 테이블에 데이터 관리하기 (0) | 2023.10.04 |
---|---|
[JSP] forward를 이용한 색 사진 넣기 (0) | 2023.09.26 |
[JSP] includeActionTag (0) | 2023.09.25 |
[JSP] session (0) | 2023.09.25 |
[JSP] response (0) | 2023.09.25 |