[JSP 4-3] Standard Action Tag - forward 태그

임승현·2022년 12월 9일
0

JSP

목록 보기
12/20

◈ action 폴더에 forward 폴더 생성

🐧Part1

📃main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<h1>메인 페이지</h1>
	<hr>
	<%-- 	
	<a href="company.jsp">회사연혁</a>&nbsp;&nbsp;
	<a href="product.jsp">제품소개</a>&nbsp;&nbsp;
	<a href="order.jsp">주문내역</a>&nbsp;&nbsp;
	<a href="review.jsp">사용후기</a>&nbsp;&nbsp;
	--%>
	<a href="controller.jsp?category=company">회사연혁</a>&nbsp;&nbsp;
	<a href="controller.jsp?category=product">제품소개</a>&nbsp;&nbsp;
	<a href="controller.jsp?category=order">주문내역</a>&nbsp;&nbsp;
	<a href="controller.jsp?category=review">사용후기</a>&nbsp;&nbsp;
</body>
</html>

🐧Part2

📃company.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<h1>회사연혁 페이지</h1>
	<hr>
	<a href="main.jsp">메인 페이지</a>
</body>
</html>

🐧Part3

📃order.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<h1>주문내역 페이지</h1>
	<hr>
	<a href="main.jsp">메인 페이지</a>
</body>
</html>

🐧Part4

📃product.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<h1>제품소개 페이지</h1>
	<hr>
	<a href="main.jsp">메인 페이지</a>
</body>
</html>

🐧Part5

📃review.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<h1>사용후기 페이지</h1>
	<hr>
	<a href="main.jsp">메인 페이지</a>
</body>
</html>

🐧Part6

📢 전달값에 따라 서로 다른 JSP 문서의 응답결과를 클라이언트에게 전달되도록 스레드를 이동하는 JSP 문서
→ 프로그램의 흐름을 제어하는 기능

📌 forward ActionTag : 요청 JSP 문서에 page 속성값으로 설정된 JSP 문서로 스레드를 이동하여 명령을 실행하고 처리결과를 클라이언트에게 전달하여 응답하기 위한 태그
형식) <jsp:forward page="JSP"></jsp:forward> 또는 <jsp:forward page="JSP"/>
→ page 속성값으로 JSP 표현식(Expression) 사용 가능
◈ 포워드 이동 : 요청 JSP 문서에서 응답 JSP 문서로 스레드를 이동하여 응답 처리
→ 클라이언트에 상관없이 서버측에서 이동 - 클라이언트 브라우저의 URL 주소 미변경

<jsp:forward page="<%=filePath %>"/>

📃controller.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- 전달값에 따라 서로 다른 JSP 문서의 응답결과를 클라이언트에게 전달되도록 스레드를 이동하는 JSP 문서 --%>
<%-- → 프로그램의 흐름을 제어하는 기능 --%>
<%
	//전달값을 반환받아 저장
	String category=request.getParameter("category");
	//
	if(category==null) {//전달값이 없는 경우
		//클라이언트에게 URL 주소가 전달되도록 응답 처리
		//→ URL 주소를 전달받은 클라이언트는 브라우저의 URL 주소를 변경하여 서버의 자원을 요청하여 결과를 응답받아 출력 - 페이지 이동
		response.sendRedirect("main.jsp");//리다이렉트 이동
		return;
	}
	//
	//전달값을 이용하여 스레드가 이동될 JSP 문서의 파일 경로를 생성하여 저장
	String filePath=category+".jsp";
	//System.out.println("filePath = "+filePath);
%>
<%-- forward ActionTag : 요청 JSP 문서에 page 속성값으로 설정된 JSP 문서로 스레드를 이동하여 명령을 실행하고 처리결과를 클라이언트에게 전달하여 응답하기 위한 태그 --%>
<%-- 형식) <jsp:forward page="JSP"></jsp:forward> 또는 <jsp:forward page="JSP"/> --%>
<%-- → page 속성값으로 JSP 표현식(Expression) 사용 가능 --%>
<%-- 포워드 이동 : 요청 JSP 문서에서 응답 JSP 문서로 스레드를 이동하여 응답 처리 --%>
<%-- → 클라이언트에 상관없이 서버측에서 이동 - 클라이언트 브라우저의 URL 주소 미변경 --%>
<jsp:forward page="<%=filePath %>"/>

0개의 댓글