jsp - form값 post로 submit전송 (text, radio, select, checkbox), value값이 여러개일 때 getParameterValues
파일명 ; testForm3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>testForm3.jsp 페이지</h1>
<hr>
<form action="testPro3.jsp" method="get">
이름: <input type="text" name="name"><br>
성별: <input type="radio" name="gender" value="남">남자
<input type="radio" name="gender" value="여">여자
<br>
직업:
<select name="job">
<option value="학생">학생</option>
<option value="회사원">회사원</option>
<option value="기타">기타</option>
</select>
<br>
취미: <input type="checkbox" name="hobby" value="여행">여행
<input type="checkbox" name="hobby" value="게임">게임
<input type="checkbox" name="hobby" value="야구">야구
<br>
<input type="submit" value="전송">
</form>
</body>
</html>
파일명 : testPro3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>testPro3.jsp 페이지</h1>
<hr>
<%
// post 요청 한글처리
request.setCharacterEncoding("utf-8");
// 폼에서 name속성이 안넘어오면 getParameter() 시 null이 리턴됨
// 폼에서 name속성은 넘어오는데 value가 없으면 ""(빈문자열)이 리턴됨
String name = request.getParameter("name"); // ""
String gender = request.getParameter("gender");
String job = request.getParameter("job");
// 하나의 파라미터에 대해서 value값이 여러개 => 배열
String[] hobby = request.getParameterValues("hobby");
%>
이름: <%=name %><br>
성별: <%=gender %><br>
직업: <%=job %><br>
취미:
<%
if (hobby != null) {
for (int i=0; i<hobby.length; i++) {
out.print(hobby[i] + " ");
}
}
%>
</body>
</html>