본문 바로가기
JSP

[JSP] request를 이용한 상품 구매 내역

by NamGH 2023. 9. 25.
예제 : request를 이용한 상품 구매 내역
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<style type="text/css">
span{
	float:left;
	display:block;
	width:150px;
	color:red;
}

</style>

<script src = "../js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
	$(function (){
		$('INPUT[name = id]').focus();
	}) ;
	
	function check(){
		if($('INPUT[name = id]').val() == ""){
			alert('아이디를 입력하세요');
			$('INPUT[name = id]').focus();
			return false;
		}
		
		if($('INPUT[name = pw]').val() == ""){
			alert('비번을 입력하세요');
			$('INPUT[name = pw]').focus();
			return false;
		}
		
		if($('INPUT[name = product]:checked').length < 1){
			alert('구매상품을 선택하세요');
			$('INPUT[name = product]').focus();
			return false;
		}
		
		if($('SELECT[name = time]:checked').val == ""){
			alert('배송시간을 선택하세요');
			$('SELECT[name = time]').focus();
			return false;
		}
		
		if($('INPUT[name = approve]:checked').length < 1){
			alert('결제방법을 선택하세요');
			$('INPUT[name = approve]').focus();
			return false;
		}
	}
</script>


<body>
<h2> 상품 구매 내역 </h2>
<FORM name="myform" METHOD="post" ACTION="Ex05_result남경현.jsp">

 <span>아이디 :</span> <INPUT TYPE="text" NAME="id"><br>
 <span>비번 :</span> <INPUT TYPE="text" NAME="pw"><br>
  <p> 
  
 
<span>구매상품:</span>
	<input type="checkbox" name="product" value="식품">식품
	<input type="checkbox" name="product" value="의류">의류
	<input type="checkbox" name="product" value="도서">도서
	<input type="checkbox" name="product" value="가구">가구
<p>

<span>배송시간 :</span> 
 	<SELECT NAME="time">
 		<OPTION VALUE="선택">선택</OPTION>
		<OPTION VALUE="9시~11시">9시~11시</OPTION>
		<OPTION VALUE="11시~1시">11시~1시</OPTION>
		<OPTION VALUE="1시~5시">1시~5시</OPTION>
		<OPTION VALUE="5시~9시">5시~9시</OPTION>
	</SELECT>
<p>

<span>결제방법:</span>
카드 <INPUT TYPE="radio" NAME="approve" VALUE="카드">
핸드폰 <INPUT TYPE="radio" NAME="approve" VALUE="핸드폰">
<p>
<span>결제 동의합니다. </span>  
<INPUT TYPE="checkbox" NAME="agree" id="agree"> <!-- value없으면 on이넘어옴 -->
<p>

<INPUT TYPE="submit" value="보내기" onclick="return check()">
</FORM>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import = "java.util.*"%>
    
<%
request.setCharacterEncoding("UTF-8");
%>
<!-- request객체에는 요청 정보가 담긴다 -->
<style>
	table{
		text-align: center;
		width: 300;
		height: 100;
	}
</style>

<%
Enumeration<String> names = request.getParameterNames();
%>

<table border = "1" style="margin-top: 100px">
<% 
String str = null;
boolean flag = false;
while(names.hasMoreElements()){ 
	str = names.nextElement();
	if(str.equals("agree")){
		flag = true;
	}
	String[] values = request.getParameterValues(str);
	for(int i = 0; i < values.length; i++){
		out.print("<tr><td>" + str + "</td><td>");
		if(values[i].equals("on")){
			out.print("동의함");
		}else{
			out.print(values[i] + " ");
		}
	}
	out.print("</td></tr>");
}
if(flag == false){
	out.print("<tr>");
	out.print("<td>agree</td>");
	out.print("<td>동의안함</td>");
	out.print("</tr>");
}
%>   
</table>
실행결과

 

코드설명
유효성 검사를 한후 names의 객체를 한개한개씩 즉 id pw를 가져오고 정보를 많이 가져올수가 있으니깐 getParameter대신 getParameterValues를사용해 배열을 이용하고 동의안함이라는 정보를 가져오기 위해 flag에 false라는 초기값에 false로 넣어 agree에 체크를 안했을때 flag false가 되기때문에 false일때의 조건문이 실행되게 한다

'JSP' 카테고리의 다른 글

[JSP] session  (0) 2023.09.25
[JSP] response  (0) 2023.09.25
[JSP] request  (0) 2023.09.25
[JSP] for문을 이용한 구구단 만들기  (0) 2023.09.25
[JSP] for문  (0) 2023.09.25