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]);
}
}
%>
📌 정리 포인트
- name vs name2
- getParameter("name") → 단일 값(String) 반환
- getParameterValues("name") → 배열 반환 (선택 1개면 length = 1)
- sports1 vs sports2
- sports1은 라디오 버튼이나 단일 <select> 같은 경우에 적합
- sports2는 체크박스 / 다중 선택 <select multiple>에 적합
- 여러 개 선택했을 때 반드시 getParameterValues()로 처리해야 모든 값이 나옴
- null 처리 중요
- 체크박스를 하나도 선택하지 않으면 sports2 = null
- 따라서 if(sports2 != null) 체크를 해줘야 에러가 안 남
정리
- 단일 값 : getParameter
- 다중 값 : getParameterValues
'기초 및 언어 > ▶ Java&JSP' 카테고리의 다른 글
| 08. JSP_ActionTag : fowardAction (0) | 2025.09.10 |
|---|---|
| 07. JSP_ActionTag : includeActionTag & include지시어와 차이점 (0) | 2025.09.10 |
| 03. JSP_requset & post ,get (0) | 2025.09.08 |
| 02. JSP_ import, include (0) | 2025.09.08 |
| 01. JSP에서 출력하기 (0) | 2025.09.08 |