아래 form에

아래와 같이 문자값을 입력할 경우

아래와 같은 오류가 발생한다.

 

어떤 값이 찍히는지 궁금해서 확인하려고 sysout을 해봤으나

아래와 같이 null값이 저장된다.

Control로 이동되는데, null 값이 저장되어 의문이 생겼다.

오류의 원인은 자료형이였다.

아까 폼을 다시 한번 보자

 

나이가 보이는가?

나이의 자료형은 int이다.

그런데 문자형 데이터를 form에서 넣으려고 시도하기 때문에 위와 같은 오류가 발생한 것이며,

또한 다른 데이터 역시 null로 저장이 된 것이다.

 

여기서 주목할 vo 값 중 하나라도 잘못 저장될 경우

위의 사진과 같이 다른 값들도 null 값이 저장된다는 것이다.

이번엔 사진과 같이 나이에 숫자값을 정상적으로 입력했다.

보다시피 정상적으로 값이 전달되는 것을 확인할 수 있다.

이후 테스트시에 테스트값을 value로 지정하여 자료형에 맞는 값을 넘기는게 아무래도 편할 듯 싶다.

 

추가로 아래와 같이 숫자를 입력해도

form에 enctype이 붙어 있다면 값을 넘길 때 data로 넘긴다.

그렇기 때문에 아래와 같이 null 값이 출력될 수 있다.

왜냐하면 int나 String이 아닌 전체 값이 data로 묶이기 때문에 

이것은 아래 사진과 같이 MultipartFile로 받아줘야 쓸 수 있다.

+ Recent posts