에러노트
[JSP] java.lang.NumberFormatException 에러
Sunday31
2023. 1. 9. 12:02
개요
게시판에 작성된 글이 수정이 되지 않는다.
수정하기 버튼을 누르면 뜨는 아래와 같이 뜨는 500에러
원인
일단 표시되어 있는대로 해당 페이지(updatePro.jsp)로 가보았지만 오타가 나있는 게 없었다.
도대체 뭘까...? 이클립스의 콘솔창에 적어두었던 프린트 메세지를 확인해보았다.
java.lang.NumberFormatException: For input string: "9>"
누가봐도 오타의 기운이 물씬 난다.
다만 '9>'라는 글자를 어디에서도 찾을 수 없었다. 그러다가 문득 글을 수정하고 있었다는 게 생각났다.
9는 내가 누른 게시글의 번호였다.
그러면 게시글 번호를 넘어오게 하는 파라미터 부분에 오타가 있다는 것까지 추리가 되었다!
파라미터를 넘겨주는 코드가 작성된 파일로 다시 가보았다. (updateForm.jsp에 작성해두었다.)
해결
value의 값에 >가 하나 더 작성되어 있었다. >도 같이 문자열로 인식해서 넘어왔기 때문에 수정되지 않는 것이였다.
JSP에서 선언식<%= %> 사용시, 꺽쇄의 개수가 짝을 이루어야 한다.
오타조심!
+ 추가
검색했을때 파라미터를 가져올 때 공백이 삽입되어 넘어가지 않는 경우도 꽤 있다고 한다.
java.lang.NumberFormatException: For input string: " "
그런 경우에는 뒤에 .trim()메서드를 추가하여 공백이 없도록 주의하자.
int re_ref = Integer.parseInt(request.getParameter("re_ref").trim());