-
22 데이터의 변환과 검증 (1)Spring/01 Spring MVC 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.java의 save메서드에 System.out.println("User="+user) 추가
ex) 로그인 화면에서 취미 카테고리를 만들고 농구#축구#배구 입력시
구분자 #으로 나누어 결과를 콘솔로 취미=[농구,축구,배구] 출력해준다
로그인 화면에서 결과 화면으로는 배열의 주소가 출력된다
RegisterController.java
결과 확인
RegisterController.java
>> 구분자 “#”으로 값을 입력한다
결과확인
>> String[ ]로 값이 입력되었다
@DateTimeFormat(pattern="yyyy-mm-dd")
RegisterController.java
2) PropertyEditor
3) Converter와 ConversionService
4) Formatter
WebDataBinder
>> 우선순위 ① → ② → ③
반응형'Spring > 01 Spring MVC' 카테고리의 다른 글
23 데이터의 변환과 검증 (2) (0) 2023.06.19 21 DispatcherServlet 파헤치기 (0) 2023.06.15 20 예외처리(2) - 이론 (0) 2023.06.14 19 예외처리(1) - 실습 (0) 2023.06.13 18 세션(Session)-실습 (0) 2023.06.11