2022. 10. 14. 21:39ㆍjsp/jsp
이번의 목표
01. <jsp:forward>, <jsp:param>을 사용해보자
01. <jsp:forward>, <jsp:param>을 사용해보자.
지금까지 <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>에 대해 공부했습니다.
이번에는 <jsp:forward>, <jsp:param>을 이용하여 페이지를 이동하고 파라미터를 저장하는 방법에 대해 공부해보겠습니다.
<jsp:forward>는 페이지를 이동하는데에 사용됩니다. 사용 예시는 아래와 같습니다.
<jsp:forward page="파일.jsp"/>
이때 바로 닫지 않고 닫는 태그를 사용한다면 그 사이에 파라미터를 전달해줄 수도 있습니다.
<jsp:param>은 파라미터를 만드는 변수입니다. 사용 예시는 아래와 같습니다.
<jsp:param value="값" name="이름"/>
위에서 설명한대로 <jsp:forward>의 여는 태그와 닫는 태그 사이에 <jsp:param>을 사용한다면 파라미터를 전달할 수도 있습니다. 사용 예시는 아래와 같습니다.
<jsp:forward page="파일.jsp">
<jsp:param value="값" name="이름"/>
</jsp:forward>
<jsp:forward>를 기존에 사용하던 방법으로 표현을 하자면
request.getRequestDispatcher("페이지.jsp").forward(request, response);
가 되는데 상대적으로 코드의 길이가 길기 때문에 가독성을 위해서라면 <jsp:forward>를 쓰는것이 보다 합리적입니다.
예제로 로그인.jsp와 서비스.jsp를 만들어 사용자가 선택한 값을 파라미터로 넘긴 후 검증하여,
사용자인지 관리자인지에 따라 다른 페이지를 출력하는 코드를 작성해보겠습니다.
01. login.jsp 코드
02. loginService.jsp 코드
03. userPage.jsp 코드
04. adminPage.jsp 코드
05. 실행 화면 - 사용자 로그인
06. 실행 화면 - 관리자 로그인
01. login.jsp 코드
<form action="loginService.jsp">
<input type="text" name="id" placeholder="아이디"><br>
<input type="password" name="pw" placeholder="비밀번호"><br>
<input type="radio" name="user" value="user">사용자
<input type="radio" name="user" value="admin">관리자<br>
<input type="submit" value="로그인">
</form>
02. loginService.jsp 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String user = request.getParameter("user");
if(user.equals("admin")){
request.setAttribute("param", "param_admin");
request.getRequestDispatcher("adminPage.jsp").forward(request, response);
}else{%>
<jsp:forward page="userPage.jsp">
<jsp:param value="param_user" name="param"/>
</jsp:forward>
<!--
위의 request.getRequetstDispatcher().forward와
기능은 같지만 jsp:forward를 사용하면 코드가 보다 짧고 간결해진다.
-->
<%
}
%>
03. userPage.jsp 코드
<h3>사용자로 로그인 성공</h3>
아이디 : <%=request.getParameter("id") %><br>
비밀번호 : <%=request.getParameter("pw") %><br>
사용자 : <%=request.getParameter("user") %><br>
매개변수 : <%=request.getParameter("param") %><br>
<a href="login.jsp">이전</a>
04. adminPage.jsp 코드
<h3>관리자로 로그인 성공</h3>
아이디 : <%=request.getParameter("id") %><br>
비밀번호 : <%=request.getParameter("pw") %><br>
사용자 : <%=request.getParameter("user") %><br>
매개변수 : <%=request.getAttribute("param") %><br>
<a href="login.jsp">이전</a>
05. 실행 화면 - 사용자 로그인
06. 실행 화면 - 관리자 로그인
'jsp > jsp' 카테고리의 다른 글
15주차 - jsp (12) Action Tag - 2.2 (0) | 2022.10.14 |
---|---|
15주차 - jsp (11) Action Tag - 2 (0) | 2022.10.14 |
15주차 - jsp(10) action Tag - 1 (0) | 2022.10.14 |
15주차 - jsp (9) <c:url> (0) | 2022.10.14 |
15주차 - jsp (8) jstl을 사용하여 인코딩을 바꿔보자 (0) | 2022.10.14 |