IT/Jsp

jsp - form값 post로 submit전송 (text, radio, select, checkbox), value값이 여러개일 때 getParameterValues

노마드오브 2018. 9. 11. 22:17

파일명 ; 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>