[Error/Spring] [400] view에서 입력되지 않은 값이 있을 경우

2023. 8. 8. 11:52Backend/Spring

 

상황

Spring 공부하던 중 배운 내용

 

원인

jsp 페이지에서 controller(또는 handler)를 통해 post/get 방식으로 입력된 값을 여러 과정을 통해 넘겨줄 수 있다.

예시로, form 태그를 통해 넘어가는 name =  "number"를 이용해보려고 한다. 이 때, 사용자가 입력하는 값을 숫자로 받고자 한다. 이 경우 int 타입의 데이터 값이 입력되지 않은 상태로 넘어간다면, 형변환이 되지 않기 때문에 문제가 되는 것이다.

 

해결

이 때,

1) int 타입의 데이터 값을 사용자가 필수로 jsp 페이지에서 입력하게 하거나,

2) public 타입 메소드명 (@RequestParam(value = "number", required = false, defaultValue = "기본값") int no){}

3) public 타입 메소드명 (@RequestParam(defaultValue = "기본값") int number){}

으로 대처하게 되면 문제는 해결된다.