본문 바로가기
기초 및 언어/▶ Java&JSP

04. JSP_여러 값을 request보내기

by 류딩이 2025. 9. 8.

Ex03_form.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<form action = "Ex03_result.jsp" method = "post">

	이름 : <input type="text" name="name"><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="축구">축구<br><br>
	
	<input type="submit" value="전송">
	
</form>

 

 

Ex03_result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
Ex03_result.jsp
<br>


<%
	request.setCharacterEncoding("UTF-8");
	
	String name = request.getParameter("name");
	String[] name2 = request.getParameterValues("name");
	
	String sports1 = request.getParameter("sports");
	String[] sports2 = request.getParameterValues("sports");
	%>
	
	이름 : <%=name%><br>
	이름 : <%=name2[0]%><br>
	<br>
	<br>


스포츠1 : <%=sports1%><br>
스포츠2 : 
<%
    if (sports2 == null) {
        out.print("운동을 선택하지 않으셨습니다.");
    } else {
        for (int i = 0; i < sports2.length; i++) {
            out.print(sports2[i]);
        }
    }
%>

 

📌 정리 포인트

  1. name vs name2
    • getParameter("name") → 단일 값(String) 반환
    • getParameterValues("name") → 배열 반환 (선택 1개면 length = 1)
  2. sports1 vs sports2
    • sports1은 라디오 버튼이나 단일 <select> 같은 경우에 적합
    • sports2는 체크박스 / 다중 선택 <select multiple>에 적합
    • 여러 개 선택했을 때 반드시 getParameterValues()로 처리해야 모든 값이 나옴
  3. null 처리 중요
    • 체크박스를 하나도 선택하지 않으면 sports2 = null
    • 따라서 if(sports2 != null) 체크를 해줘야 에러가 안 남

정리

  • 단일 값 : getParameter
  • 다중 값 : getParameterValues