[jsp] form태그 name값으로 파라미터 값 가져오기/ forward, redirect / validation check

seulki·2022년 10월 13일
0

jsp

목록 보기
23/51
post-thumbnail
post-custom-banner

🎈 object.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>
	<form action="object_ok.jsp" name="joinForm">
		<fieldset>개인정보</fieldset>
		<input type="text" name="username"/>
		<input type="text" name="userid"/>
		<input type="button" value="확인" onclick="sendit();"/>
	</form>
	
	<script type="text/javascript">
	
		function sendit() {
      //form태그의 name값
			let formTag = document.joinForm;
      //input태그의 name값으로 값 받아오기
			let nameTag = formTag.username;
			let idTag = formTag.userid;
			
			if(nameTag.value == null || nameTag.value == ""){
				alert("이름을 입력하세요");
				nameTag.focus();
				return false;
			}
			
			if(idTag.value == null ||idTag.value == ""){
				alert("아이디를 입력하세요");
				idTag.focus();
				return false;
			}
			
			formTag.submit();
		}
	</script>
</body>
</html>


🎈 object_ok.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>
 이름 :		<%=request.getParameter("username") %></br>
 아이디 :	<%=request.getParameter("userid") %>
</body>
</html>
  • request 객체로 파라미터값 받아오기
  • object.jsp 파일과 object_ok.jsp 파일에서 변수 이름을 동일하게 했는데,
    변수 이름과 태그의 name명, id값, DB 컬럼명이 같아야 유지보수가 수월하다.



✨object_ok.jsp 에서 forward 방식으로 페이지 이동하기

  • forward 방식 : request 객체 유치
  • redirect 방식 : request 객체 재생성
<%@ 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>

 <% String username = request.getParameter("username");
 	String userid = request.getParameter("userid"); 
	
 	pageContext.forward("object_result.jsp");
 %>


</body>
</html>
  • object.jsp파일에서 파라미터로 받은 값을 변수에 담아서 다시
    object_result.jsp 파일로 페이지 이동!
  • forward 방식으로 페이지 이동했기 때문에, request와 reponse 값 유지!
  • 페이지 이동 후 url은 변화 없음!!

🎈object_result.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>
이름 : <%=request.getParameter("username") %>님 어서오세요.</br>
당신의 아이디는 <%=request.getParameter("userid") %> 입니다.
</body>
</html>
  • forward로 페이지 이동했기 때문에, request 객체에 정보가 유지되어 넘어온다.


✨object_ok.jsp 에서 redirect 방식으로 페이지 이동하기

  • forward 방식 : request 객체 유치
  • redirect 방식 : request 객체 재생성
<%@ 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>

 <% String username = request.getParameter("username");
 	String userid = request.getParameter("userid"); 
	
 	//pageContext.forward("object_result.jsp");
 	response.sendRedirect("object_result.jsp");
 %>
</body>
</html>
  • redirect 방법은 request 유지되지 않아서 Null로 출력됨.
profile
웹 개발자 공부 중
post-custom-banner

0개의 댓글