작성
·
254
0
spring mvc vo int 받기 문의 드립니다
안녕하세요 강사님
프로젝트 도중에 막히는 부분이 있어 질문드립니다
보안 지적사항이 나와서
기존 소스 호출 get 방식으로 호출 하는 부분을
모두 post 방식으로 변경 하라고 해서
작업중입니다
뷰 => 컨트롤러 => 서비스 => dao or repository
뷰 화면단에서 <form 에 있는 항목을 컨트롤러로
PostMapping 으로 넘겨 vo 로 받고 싶은데
바인딩예외가 발생합니다. vo 클래스에는 현재 int 형으로
선언이 되어 있는데 get으로 넘길때는 에러가 없었으나
post 로 변경해서 컨트롤러로 넘어가지 않습니다
제가 뷰화면단에서 <form 안에
input 타입을 "text" or "number"
형으로 변경 해가면서 테스트 해봐도 마찬가지네요 혹시
해결 방법이 있을까요?
<<■■■■ 뷰 화면 단 >>
<form
<input type="text" => post 넘기면 에러 발생
<input type="number" => post 넘기면 에러 발생
<<■■■■ 컨트롤러 단 >>
@PostMapping('~.do')
public getSomeMethod(SomeVoClass param){
//■■메서드파라미터 SomeVoClass 안에 int 형 sn 항목 있습니다
<<■■■■ vo 클래스 >>
pubiic class SomeVoClass{
private int sn;//■■게시판일련번호 int 형으로 선언됨
}
<<■■■■ 자바에러메세지 >>
org.springframework.validation.BindException:
org.springframework.validation.BeanPropertyBindingResult
typeMissmatch.SomeVoClass.sn
typeMissmatch.sn
typeMissMatch.int.typeMismatch
default message[Failed to convert property value of type 'java.lang.String[]'
nested exception is java.lang.NumberFormatException: for input string ",1234"]
혹시 시간 나실 때 알려주시면 감사하겠습니다
수고하세요..
김동희 드림
답변 1
1
안녕하세요
컨트롤러 받는 vo에 클래스에 int 형 문제가 아니라
사용자 화면단 폼 post 전송시 input 동일 변수가
이중으로 들어가
배열형태로 넘어가서 문제
였네요
감사합니다 수고하세요!!