Spring/01 Spring MVC

22 데이터의 변환과 검증 (1)

라타노 2023. 6. 18. 23:01
반응형

데이터의 변환과 검증

1) WebDataBinder

>> String int로 타입 변환

 

 

2) RegisterController에 변환 기능 추가하기 - 실습

 

 

 

String[ ] String의 자동 타입변환

User.java

 

 

RegisterController.java

 

 

registerInfo.jsp

 

 

결과 확인

 

 

 

String Date 타입 변환

User.java

>> String birth Date birth로 변경 (단축키 Ctrl + shift + r )

 

 

결과 확인

>> 구분자를 2020/12/31(스프링이 기본적으로 변경해준다) 2020-12-31 변경

>> 2020-12-31 형식의 날짜를 Date타입으로 만들지 못해서 에러나 발생

 

 

RegisterController.java

 

 

결과 확인

>> 에러페이지가 발생하지 않고, birth= null 값으로 처리 (변환에 실패)

 

 

 

 

System.out.println("result="+result);

 

 

WebDataBinder binder

RegisterController.java

 

결과 확인

 

 

new StringArrayPropertyEditor( )

RegisterController.java

>> String[ ]의 타입의 구분자를 #으로 구분한다

User.java private String[ ] hobby 추가(getter,setter,toString 추가)

registerForm.jsp에서 취미 카테고리 추가(<input>추가)

registerInfo.jsp<h1>hobby=${user.hobby}</h1> 추가

RegisterController.javasave메서드에 System.out.println("User="+user) 추가

 

ex) 로그인 화면에서 취미 카테고리를 만들고 농구#축구#배구 입력시

     구분자 #으로 나누어 결과를 콘솔로 취미=[농구,축구,배구] 출력해준다

     로그인 화면에서 결과 화면으로는 배열의 주소가 출력된다

 

 

RegisterController.java

 

 

 

결과 확인

 

RegisterController.java

>> 구분자 “#”으로 값을 입력한다

 

 

결과확인

>> String[ ]로 값이 입력되었다

 

 

 

@DateTimeFormat(pattern="yyyy-mm-dd")

RegisterController.java

 

 

 

 

2) PropertyEditor

 

 

 

3) ConverterConversionService

 

 

 

4) Formatter

 

 

WebDataBinder

>> 우선순위 ① → ② → ③

 

 

 

 

반응형