CLASS/SERVLET
#2-1 / checkbox 및 라디오 핸들링
hingu
2024. 5. 29. 09:01
❗ checkbox 는 기본적으로 value값을 적용하게 되어있음
해당 값이 없을 경우 - null로 적용되며 해당 파라미터를 처음부터 변수선언 시 조건문에 error가 발생함
또한 equals라는 메소드 사용면 문제 발생함
=> 체크박스(checked 안되어있고) 체크 안할시 null값 들어옴 - 핸들링 불가 (checkbox만 !)
프론트에서 아무리 input type checkbox value값을 변경해줘도 체크가 되어잇지 않으면 뭐가됐는 걍 null로 들어옴
equals 도 절대 X
❗ radio 처리방식 : 무조건 데이터가 전송됨 (on / off 형태로 출력 - 중복 name값 사용하므로 value 무조건 사용)
- intert() 사용시 연산기호 가능
⚡ checkbox
<body> <form action="./agree.do" id="f" method="post" enctype="application/x-www-form-urlencoded"> 자동로그인 : <input type="checkbox" name="ck" value="Y"><br> 약관 정책 : <input type="radio" name="ag" value="agree_Y">동의함 <input type="radio" name="ag" value="agree_N">동의안함 <br> <input type="button" value="전송" onclick="gopage()"> </form> </body> <script type="text/javascript"> function gopage(){ f.submit(); } </script>
public class agree extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //checkbox String ck=""; if(request.getParameter("ck") == null) { ck="N"; }else { ck= request.getParameter("ck"); } System.out.println("checkbox : " + ck); //radio String ag = request.getParameter("ag").intern(); if(ag == "on") { System.out.println("동의안함"); }else { System.out.println("동의함"); } } }