우리는 앞에서도 계속 받아왔다.
String 변수 = request.getParameter(가져올 파라미터 이름);
의 형태로
이러한 경우 앞에서 <input type="text" name="id">
로 작성했다면
String id = request.getParameter("id") 의 형태로 받아오면 되는 것이다.
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String name = request.getParameter("name");
String phone1 = request.getParameter("phone1");
String phone2 = request.getParameter("phone2");
String phone3 = request.getParameter("phone3");
String gen = request.getParameter("gender");
// 선택되지 않은 변수의 값이 null로 출력되는 것이 마음에 들지 않으니 수정
// String hobby1 =request.getParameter("hobby1");
// String hobby2 =request.getParameter("hobby2");
// String hobby3 =request.getParameter("hobby3");
// 들어온 name의 값을 배열로 저장하기
String hobby[] = request.getParameterValues("hobby");
String comment = request.getParameter("comment");
%>
<p>
아이디 : <%= id %> <br>
비밀번호 : <%= pw %> <br>
이름 : <%= name %> <br>
<br>
전화번호 : <%= phone1 %> - <%= phone2 %> - <%= phone3 %> <br>
성별 : <%= gen %> <br>
취미 : <%
if(hobby != null) {
for(int i=0; i<hobby.length; i++){
out.print(" " + hobby[i]);
}
}
%>
<br>
가입인사 : <%= comment %> <br>
위 처럼 파라미터를 하나한 받아오는 방법이 있다면, 요청 파라미터를 설정하지 않아도 모든 값을 전달받을 수 있는 방법도 있다. 텍스트, 라디어, 드롭다운 박스와 같은 다양한 유형에서 가능하다.
예를 들어
<body>
<!-- 요청 파라미터를 한번에 전체 다 받기 -->
<%
// 받아온 request를 어떤 형식으로 인코딩 하겠는가
request.setCharacterEncoding("utf-8");
// 한번에 받아오기 위한 부분이다.
Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()) {
// name=""으로 작성한 이름 부분을 가져온다.
String name = (String) paramNames.nextElement();
out.print("<br>" + name);
// 해당 name에 해당하는 값을 가져온다.
String value = request.getParameter(name);
out.print(" : " + value);
}
%>
</body>
출력된 모양을 보면 어떤 식으로 작동되는지 볼 수 있을 것이다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title> form processing </title>
</head>
<body>
<h3> 회원 가입</h3>
<form action="1_process01.jsp" name="member" method="post">
<p> <label for="id"> 아이디 </label>
<input type="text" id="id" name="id">
<input type="button" value="아이디 중복 검사" id="id">
<p> <label> 비밀번호
<input type="password" name="password" id="pw"> </label>
<p> <label> 이름 </label>
<input type="text" name="name" id="name">
<p> <label> 연락처 뒷자리
<input type="text" name="phone1" id="tel" maxlength="3"> -
<input type="text" name="phone2" id="tel" maxlength="4"> -
<input type="text" name="phone3" id="tel" maxlength="4"> </label>
<p> <label> 성별
<input type="radio" name="gender" value="남성" checked="checked"> 남성
<input type="radio" name="gender" value="여성" checked="checked"> 여성 </label>
<p> <label> 취미 : <input type="checkbox" name="hobby1" value="독서"> 독서
<input type="checkbox" name="hobby2" value="운동"> 운동
<input type="checkbox" name="hobby3" value="영화"> 영화 </label>
<p> <input type="submit" value="가입하기">
<input type="reset" value="다시쓰기">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>select 태그 연습</title>
</head>
<body>
<form action="2_process.jsp" method="post">
<fieldset>
<legend> select 태그로 연락처 수 정하기</legend>
<label> 연락처
<!-- size : 한번에 보일 갯수 -->
<select name="phone1" size="4">
<option value="010">010</option>
<option value="011">011</option>
<option value="012">012</option>
<option value="013">013</option>
<option value="014">014</option>
<!-- disabled : 보이긴 하지만 선택할 수는 없는 / 읽기 전용 같은 느낌 -->
<option value="015" disabled> 015 </opthon>
<!-- selected : 기본 선택 같은 느낌 -->
<option vlaue="016" selected> 016 </option>
</select> - <input type="text" maxlength="4" size="4" name="phone2"> -
<input type="text" maxlength="4" size="4" name="phone3">
</label>
</fieldset>
<br>
<fieldset>
<legend>성별을 목록 상자로 바꾸기</legend>
<select name="gender">
<optgroup label="성별">
<option value="female">여성</option>
<option value="male">남성</option>
</optgroup>
</select>
</fieldset>
</form>
</body>
</html>
<body>
<fieldset>
<legend> 가입인사 </legend>
<p> 여러 줄 입력해주세요 </p>
<textarea rows="5" cols="30" name="comment" placeholder="입력"></textarea>
</fieldset>
</body>
<body>
<form action="4_process.jsp" name="member" method="post">
<p> <label for="id"> 아이디 </label> <input type="text" id="id" name="id">
<input type="button" value="아이디 중복 검사" id="id">
<p> <label for="pw"> 비밀번호 </label> <input type="password" name="pw" id="pw">
<p> <label> 이름 </label> <input type="text" name="name" id="name">
<fieldset>
<legend> select 태그로 연락처 수 정하기</legend>
<label> 연락처 <!-- size : 한번에 보일 갯수 --> <select name="phone1"
size="4">
<option value="010">010</option>
<option value="011">011</option>
<option value="012">012</option>
<option value="013">013</option>
<option value="014">014</option>
<!-- disabled : 보이긴 하지만 선택할 수는 없는 / 읽기 전용 같은 느낌 -->
<option value="015" disabled>015 </opthon>
<!-- selected : 기본 선택 같은 느낌 -->
<option vlaue="016" selected>016</option>
</select> - <input type="text" maxlength="4" size="4" name="phone2"> -
<input type="text" maxlength="4" size="4" name="phone3">
</label>
</fieldset>
<p> <label> 성별 <input type="radio" name="gender" value="남성" checked="checked"> 남성
<input type="radio" name="gender"value="여성" checked="checked"> 여성
</label>
<p> <label> 취미 : </label>
<!-- 선택받지 못한 칸의 값이 null 로 비워진 채 출력되는 것이 마음에 들지 않으니 모습 변경 -->
<!--
<input type="checkbox" name="hobby1" value="독서"> 독서
<input type="checkbox" name="hobby2" value="운동"> 운동
<input type="checkbox" name="hobby3" value="영화"> 영화 -->
<!-- 보내는 name을 모두 hobby로 변경 -->
<input type="checkbox" name="hobby" value="독서"> 독서
<input type="checkbox" name="hobby" value="운동"> 운동
<input type="checkbox" name="hobby" value="영화"> 영화
<fieldset>
<legend> 가입인사 </legend>
<p>여러 줄 입력해주세요</p>
<textarea rows="5" cols="30" name="comment" placeholder="입력"></textarea>
</fieldset>
<p> <input type="submit" value="가입하기">
<input type="reset" value="다시쓰기">
</form>
</body>
<body>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String name = request.getParameter("name");
String phone1 = request.getParameter("phone1");
String phone2 = request.getParameter("phone2");
String phone3 = request.getParameter("phone3");
String gen = request.getParameter("gender");
// 선택되지 않은 변수의 값이 null로 출력되는 것이 마음에 들지 않으니 수정
// String hobby1 =request.getParameter("hobby1");
// String hobby2 =request.getParameter("hobby2");
// String hobby3 =request.getParameter("hobby3");
// 들어온 name의 값을 배열로 저장하기
String hobby[] = request.getParameterValues("hobby");
String comment = request.getParameter("comment");
%>
<p>
아이디 : <%= id %> <br>
비밀번호 : <%= pw %> <br>
이름 : <%= name %> <br>
<br>
전화번호 : <%= phone1 %> - <%= phone2 %> - <%= phone3 %> <br>
성별 : <%= gen %> <br>
취미 : <%
if(hobby != null) {
for(int i=0; i<hobby.length; i++){
out.print(" " + hobby[i]);
}
}
%>
<br>
가입인사 : <%= comment %> <br>
</body>
<body>
<form action="5_process.jsp" name="member" method="post">
<p> <label for="id"> 아이디 </label> <input type="text" id="id" name="id">
<input type="button" value="아이디 중복 검사" id="id">
<p> <label for="pw"> 비밀번호 </label> <input type="password" name="pw" id="pw">
<p> <label> 이름 </label> <input type="text" name="name" id="name">
<fieldset>
<legend> select 태그로 연락처 수 정하기</legend>
<label> 연락처 <!-- size : 한번에 보일 갯수 --> <select name="phone1"
size="4">
<option value="010">010</option>
<option value="011">011</option>
<option value="012">012</option>
<option value="013">013</option>
<option value="014">014</option>
<!-- disabled : 보이긴 하지만 선택할 수는 없는 / 읽기 전용 같은 느낌 -->
<option value="015" disabled>015 </opthon>
<!-- selected : 기본 선택 같은 느낌 -->
<option vlaue="016" selected>016</option>
</select> - <input type="text" maxlength="4" size="4" name="phone2"> -
<input type="text" maxlength="4" size="4" name="phone3">
</label>
</fieldset>
<p> <label> 성별 <input type="radio" name="gender" value="남성" checked="checked"> 남성
<input type="radio" name="gender"value="여성" checked="checked"> 여성
</label>
<p> <label> 취미 : </label>
<input type="checkbox" name="hobby" value="독서"> 독서
<input type="checkbox" name="hobby" value="운동"> 운동
<input type="checkbox" name="hobby" value="영화"> 영화
<fieldset>
<legend> 가입인사 </legend>
<p>여러 줄 입력해주세요</p>
<textarea rows="5" cols="30" name="comment" placeholder="입력"></textarea>
</fieldset>
<p> <input type="submit" value="가입하기">
<input type="reset" value="다시쓰기">
</form>
</body>
<body>
<!-- 요청 파라미터를 한번에 전체 다 받기 -->
<%
request.setCharacterEncoding("euc-kr");
Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()) {
String name = (String) paramNames.nextElement();
out.print("<br>" + name);
String value = request.getParameter(name);
out.print(" : " + value);
}
%>
</body>