ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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.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

    >> 우선순위 ① → ② → ③

     

     

     

     

    반응형

    '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
Designed by Tistory.