본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] 액션태그 기초(feat. forward)

액션 태그
 자바 코드 형태로 작성할 수 있는 것을 태그 형태로 정의한 것
 코드 양을 대폭 줄일 수 있고 가독성 높은 소스코드를 작성할 수 있다.
 태그의 이름 앞에 jsp라는 접두어를 사용한다.

 

태그의 종류 설명
<jsp:forward> : 다른 사이트로 이동할 때 사용, 페이지의 흐름을 제어할 때 사용

<jsp:include> : 정적 혹은 동적인 자원을 현재 페이지의 내용에 포함시킨다. 페이지를 모듈화할 때 사용

<jsp:param> : <jsp:forward>, <jsp:include>, <jsp:plugin> 과 같이 사용되어 파라미터를 추가
할 때 사용
<jsp:useBean> : 빈을 생성하고 사용하기 위한 환경을 정의하는 액션 태그
<jsp:setProperty> : 액션은 빈에서 속성 값을 할당
<jsp:getProperty> : 액션은 빈에서 속성 값을 얻어 올 때 사용

 

<jsp:forward> 태그는 현재 JSP 페이지에서 URL로 지정한 특정 페이지로 넘어갈 때 사용하는 태그.

[<jsp:forward page = “URL 주소” /> ]
 기존의 request 연결을 유지하면서 서버상의 url로 request 정보를 전달한다.

 

<06_firstPage.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- 같은 페이지 내에서 page, request, session, application 영역의 데이터를 읽어올 수 있는지 테스트 --%>
	<%
	
	pageContext.setAttribute("name", "page data");
	request.setAttribute("name", "request data");
	session.setAttribute("name", "session data");
	application.setAttribute("name", "application data");
	
	System.out.println("firstPage.jsp : ");
	System.out.println("페이지 속성 데이터 : " + pageContext.getAttribute("name"));
	System.out.println("Request 속성 데이터 : " + request.getAttribute("name"));
	System.out.println("Session 속성 데이터 : " + session.getAttribute("name"));
	System.out.println("application 속성 데이터 : " + application.getAttribute("name"));
	
	request.getRequestDispatcher("06_secondPage.jsp").forward(request, response);
	
	%>
</body>
</html>

 

 

<06_secondPage.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- 다른 페이지 내에서 page, request, session, application 영역의 데이터를 읽어올 수 있는지 테스트 --%>
페이지 속성 데이터 : <%=pageContext.getAttribute("name") %> <br>
request 속성 데이터 : <%=request.getAttribute("name") %> <br>
Session 속성 데이터 : <%=session.getAttribute("name")%> <br>
application 속성 데이터 : <%=application.getAttribute("name") %><br>

<a href="06_thirdPage.jsp">다른 페이지 열기</a>
</body>
</html>

 

 

<07_thirdPage.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- 또 다른 페이지 내에서 page, request, session, application 영역의 데이터를 읽어올 수 있는지 테스트 --%>
페이지 속성 데이터 : <%=pageContext.getAttribute("name") %> <br>
request 속성 데이터 : <%=request.getAttribute("name") %> <br>
Session 속성 데이터 : <%=session.getAttribute("name")%> <br>
application 속성 데이터 : <%=application.getAttribute("name") %><br>
</body>
</html>

728x90
반응형