본문 바로가기
JAVA/JSP

JSP Enumeration 이용해서 입력받은 정보 한번에 출력하기

by solutionmaster 2023. 5. 11.

우선 Enumeration을 조금이라도 이해하기 쉽게, 단어의 뜻을 보면 열거 하다라는 뜻이다. 확실히 단어의 뜻을 알고 있으면, 이럴때 사용되는구나 하고, 이해하기가 그래도 조금은 수월해지는 느낌이다. 각설하고, 바로 코드로 살펴보자.


우선은 정보를 입력받을 HTML 구성이다, name명을 기억해 두시라~

이름, 전화번호, 성별, 운동 ,계절 정보를 입력받을 수있다.

<%@ 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>
	<h3>Form과 요청 파라미터를 처리하는 방법 중 getParameterValues()</h3>
	<form action="jsp3_2.jsp" method="post">
		이 름 : <input type="text" name="name"><br>
		전화번호 : <input type="text" name="phone"><br>
		성별 : 
			<input type="radio" name="gender" value="남자">남자&nbsp;<br>
			<input type="radio" name="gender" value="여자">여자&nbsp;<br>
		좋아하는 운동: 
			<input type="checkbox" name="sports" value="야구">야구
			<input type="checkbox" name="sports" value="축구">축구
			<input type="checkbox" name="sports" value="농구">농구
			<input type="checkbox" name="sports" value="배구">배구
		가장좋아하는 계절 :
			<select name="season">
				<option value="봄"></option>
				<option value="여름">여름</option>
				<option value="가을">가을</option>
				<option value="겨울">겨울</option>
			</select><br><br>
			<input type="submit" value="확인">&nbsp;
			<input type="reset" value="취소">
	</form>
</body>
</html>

그다음은  JSP로 입력받은 정보를 출력할수 있게 처리하는 코드이다.

<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%request.setCharacterEncoding("utf-8");%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>요청 파라미터를 읽어온다</h3>
	<hr>
    <%
        Enumeration p =request.getParameterNames(); //	p객체에 입력받은 파라미터값을 저장한다.
        Map m  = request.getParameterMap(); 

    while(p.hasMoreElements()){ // p객체에 값이 들어있으면 true를 반환하여 반복한다. 
            String name = (String)p.nextElement(); //다음요소, 문자열까지 name문자열 변수에 값을 저장한다.
            String[] values = (String[])m.get(name);
                out.print(name+":"); name값 출력

            if(values != null){
                for(String v :values){
                    out.print(v+"<br>"); //values,입력값 출력
                }
            }
        }
     %>
</body>
</html>

조금 더 설명을 덧붙이자면 Map 은 키값이고 values는 키값에 대응되는 값이다.

------------------------------------------------------------------

Map(키)                                                  values[]

 이름                                                        홍길동

전화번호                                             010-1234-1234

 성별                                                            남자

 운동                                                            축구

 계절                                                              봄 

-------------------------------------------------------------------    

입력받은 결과값 출력

'JAVA > JSP' 카테고리의 다른 글

자바빈(JavaBeans)  (0) 2023.05.15
Redirect와 Forward  (0) 2023.05.13
request, response 객체정리  (1) 2023.05.11
HTML에서 입력받아 JSP에서 처리후 웹페이지로 출력하기  (0) 2023.05.10
servlet 작성법  (0) 2023.05.10

댓글