JSP 프로그래밍
JSP Action Tag (forward)
요피짱
2019. 12. 28. 00:48
시작하기 전에 JSP 액션 태그가 뭔지 알아보자.
액션 태그는 클라이언트 또는 서버에게 어떤 행동을 하도록 지시하는 태그이다.
먼저 파라미터 값을 전달할 때 사용하는 태그를 알아보자 첫번째,
형식은 아래와 같다.
형식 : <jsp:param name = "파라미터 변수" value = "값" />
forward 방식으로 이동할 페이지를 만들자 두번째,
형식은 아래와 같다.
형식: <jsp:forward page="이동할페이지">
<jsp:param name = "변수명" value = "값"/>
</jsp:forward>
forward 방식의 특징은 페이지가 새 창으로 바뀌지 않고 넘어간다는 점이다.
이제 예제를 통해 확인해보자 세번째,
<!-- 경로는 C:/web/select.jsp 로 만들자.-->
<%@ page contentType = "text/html; charset="UTF-8" %>
<html>
<head>
<title>옵션 선택 화면</title>
</head>
<body>
<!-- form action 태그는 form 태그 안에 데이터가 서버로 보내질때에 해당 데이터가 도착할 URL을 명시한다.-->
<form action="<%=request.getContextPath()%>/view.jsp">
보고 싶은 페이지 선택:
<!-- code 라는 이름의 파라미터의 값들을 전송(여기선 값이 A,B,C) -->
<select name = "code">
<option value="A">A페이지</option>
<option value="B">B페이지</option>
<option value="C">C페이지</option>
</select>
<!-- 입력한 값을 submit 해준다 -->
<input type = "submit" value="이동">
</form>
</body>
</html>
<!-- 경로는 C:/web/view.jsp 에 만들자. -->
<!-- contentType 지정어로 텍스트로 만든 HTML임을 , charset는 UTF-8 , 언어는 JAVA 로 한다고 명시 -->
<%@ page contentType="text/html; charset="UTF-8; language="java" %>
<!-- Scriptlet(java Code) -->
<%
//클라이언트(요청) 객체에서 보낸 파라미터 이름이 code인 것의 값을 가져온다.
String code = request.getParameter("code");
String viewPageURI = null;
//파라미터 값을 조건문을 적용시킨다.
if(code.equals("A")){
viewPageURI = "viewModel/a.jsp";
}else if(code.equals("B")){
viewPageURI = "viewModel/b.jsp";
}else{
viewPageURI = "viewModel/c.jsp";
}
%>
//jsp actionTag 인 forward 태그를 이용, page 를 Expression(viewPageURI)으로 나타낸다.
<jsp:forward page = "<%=viewPageURI%>"><jsp:forward>
<!-- 경로는 C:/web/viewModel 에 만들자. -->
<!-- 먼저 viewModel/a.jsp -->
<html>
<head>
<title>A페이지</title>
</head>
<body>
<h1>A페이지 입니다.</h1>
</body>
</html>
<!-- 두번째 viewModel/b.jsp -->
<html>
<head>
<title>B페이지</title>
</head>
<body>
<h1>B페이지 입니다.</h1>
</body>
</html>
<!-- 세번째 viewModel/c.jsp -->
<html>
<head>
<title>C페이지</title>
</head>
<body>
<h1>C페이지 입니다.</h1>
</body>
</html>