이전글



forward 액션태그 사용시 <jsp:param> 태그로 데이터 전달하기
이전글에서 보았던 forward 액션태그를 사용하여 다른 JSP 페이지로 제어 흐름을 넘길 수 있습니다. 이때 제어를 넘겨받는 JSP쪽으로 데이터를 넘겨주어 공유하고 싶은 경우가 생길 수 있는데 <jsp:param> 액션태그를 이용하면 됩니다.


사용 방법은 <jsp:forward> 태그 하위에 <jsp:param> 태그를 넣는것이며 name과 value 속성을 이용합니다. name 속성이 key가 되며, value 속성이 넘길 값이 됩니다. 넘기는 값은 String 타입을 갖습니다.
<jsp:forward page="forward 시킬 JSP 페이지">                                            
     <jsp:param name="파라미터키" value="값"/>
</jsp:forward>
cs


아래와 같이 표현식으로 사용하여 매번 로직에 따라 동적인 값을 넘겨줄 수 있습니다.
<%
     String value = "forwarding value"//필요에 따라 동적인 값을 할당                
%>
 
 
<jsp:forward page="forwarding.jsp">
     <jsp:param name="파라미터키" value="<%= value %>"/>
</jsp:forward>
 
cs



forwarding 되는 JSP 쪽에서는 request 객체를 이용하여 값을 얻을 수 있습니다.
<%
     String value1 = request.getParameter("파라미터키");                                
%>
cs




사용 예제
main.jsp에서 forwarding.jsp로 흐름을 넘기면서 파라미터 두개를 넘기는 것을 실습해보도록 하겠습니다.

main.jsp
main.jsp에서는 forward 액션태그를 통해 forwarding.jsp 페이지를 호출하며 이때 파라미터로 value1, value2 를 같이 넘깁니다. value1은 변수로 따로 선언해두고 표현식을 사용하였습니다.
<%@ page contentType="text/html; charset=utf-8"%>                                
<%
     String value = "forwarding value";
%>
 
 
<jsp:forward page="forwarding.jsp">
     <jsp:param name="value1" value="<%= value %>"/>
     <jsp:param name="value2" value="22222"/>
</jsp:forward>
cs


forwarding.jsp
forwarding.jsp에서는 넘긴 파라미터를 request 객체를 통해 가져옵니다.
<%@ page contentType="text/html; charset=utf-8"%>                                
<html>
<head>
</head>
<body>
<%
     String value1 = request.getParameter("value1");
     String value2 = request.getParameter("value2");
%>
     <h1>value1 : <%= value1 %></h1>
     <h1>value2 : <%= value2 %></h1>
</body>
</html>
cs


실행 결과입니다. main.jsp페이지를 호출했지만 서버측에서는 forwarding.jsp 페이지의 실행 결과가 출력되었습니다. 이때 넘겨받은 두 개의 파라미터 값을 출력했습니다.



<jsp:param>의 동작방식은 <jsp:include>에서 사용했을때와 동일한데, 동작방식에 대해 더욱 자세히 알고 싶은 분은 다음의 링크를 참고하시기 바랍니다.
블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!