본문 바로가기

Spring

스프링에서 커스텀 데이터 타입 변환 처리하기

반응형

스프링에서 커스텀 데이터 타입 변환 처리하기


스프링에서 @InitBinder를 이용해서 커스텀 데이터 타입 변환을 처리할 수 있음
아래와 같이 처리하면 커스텀 데이터 타입 변환 작업을 하는 데이터에 대해서는
typeMismatch 의 경우 폼으로 되돌아가고 에러 메시지가 표시되도록 할 수 있음

1. Date 타입을 변환할 때 형식이 yyyy-MM-dd 의 형식이면 데이터가 처리되지만
형식에 맞지 않을 경우 폼으로 돌려보내고 아래 resource bundle의 메시지
typeMismatch.register 를 호출해서 에러 메시지를 처리함

Controller
==================================
Date 타입 처리

@InitBinder
protected void initBinder(WebDataBinder binder){
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat,true));//true null값 허용, false null값 불허
}

resource bundle
==================================
typeMismatch.register=등록일은 (예) 2013-01-02 와 같은 형식으로 입력하세요.

2. Integer 타입일 경우는 빈문자열 또는 숫자가 아닌 문자열이 전송될 때 폼으로 돌려보내고 에러 메시지 처리하고
    0을 포함한 숫자가 전송될 때는 데이터 처리함

Controller
==================================
int(Integer) 타입 처리

@InitBinder
protected void initBinder(WebDataBinder binder){
binder.registerCustomEditor(Integer.class, new CustomDateEditor(Integer,false));
}

resource bundle
==================================
typeMismatch.age=나이는 숫자만 입력가능



반응형