• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

DataBean1.data2 질문입니다.

21.09.13 01:04 작성 조회수 112

0

처음부터 input_data.jsp에서 값을 입력 했을 때에 등록되었던 빈의 객체에 값이 들어가서, input_success.jsp에 값이 넘어와야 하는데 문제는 분명 bean에 int data2라고 선언해놨음에도 불구하고(유효성 검사 위반 했을 시에)

input_data.jsp에서 text type으로 받아올때 String으로 문자의 형식이 바뀌어 data2의 값이 채워지지 않습니다.

data2에 저장될 때에 String으로 저장되어 본래 int 값인 data2에서 에러가 나는거 같아요.

다만, 의문인 점은 유효범위 (max 10)안의 값을 넣으면 값이 넘어오긴 합니다. (유효성 검사 위반하지 않았을 경우)

<--

data1 : dfdsfsdfsdf

data2 : 0 --> 데이터가 아예 넘어오지 않음(123123123123입력 typeMismatch 에러 발생)

BindingResult : org.springframework.validation.BeanPropertyBindingResult: 2 errors

Field error in object 'dataBean1' on field 'data2': rejected value [123123123123]; codes [typeMismatch.dataBean1.data2,typeMismatch.data2,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dataBean1.data2,data2]; arguments []; default message [data2]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'data2'; nested exception is java.lang.NumberFormatException: For input string: "123123123123"]

Field error in object 'dataBean1' on field 'data1': rejected value [dfdsfsdfsdf]; codes [Size.dataBean1.data1,Size.data1,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dataBean1.data1,data1]; arguments []; default message [data1],10,2]; default message [크기가 2에서 10 사이여야 합니다]

메시지 : Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'data2'; nested exception is java.lang.NumberFormatException: For input string: "123123123123"

code : typeMismatch

object name : dataBean1

typeMismatch.dataBean1.data2

typeMismatch.data2

typeMismatch.int

typeMismatch

--> 에러 메시지

 

--> jsp 에서 나타나는 에러 메시지 

답변 1

답변을 작성해보세요.

1

3242343423423 은 int 타입의 변수가 관리할 수 있는 값의 범위를 벗어납니다. long으로 바꿔서 해보세요~