반응형
스프링에서 커스텀 데이터 처리할 때 java.sql.Date 처리하기
1. java.util.Date 타입을 변환할 때는 new SimpleDateFormat("yyyy-MM-dd") 를 이용해
파싱 규칙을 만들면 되지만 java.sql.Date의 경우는 SimpleDateFormat를 사용할 수 없다.
java.sql.Date 타입을 사용해야 할 경우는 SimpleDateFormat를 상속받아 java.sql.Date 타입으로
파싱할 수 있도록 커스터마이징 해준다.
1) DateFormatUtil 작성
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class DateFormatUtil extends SimpleDateFormat{
public DateFormatUtil(String pattern) {
super(pattern);
}
@Override
public java.sql.Date parse(String date) {
java.util.Date u_date = null;
try {
udate = super.parse(u_date);
} catch (ParseException e) {
e.printStackTrace();
}
return new java.sql.Date(udate.getTime());
}
}
===========================================
형식이 yyyy-MM-dd 의 형식이면 데이터가 처리되지만
형식에 맞지 않을 경우 폼으로 돌려보내고 아래 resource bundle의 메시지
typeMismatch.register 를 호출해서 에러 메시지를 처리함
Controller
==================================
Date 타입 처리
@InitBinder
protected void initBinder(WebDataBinder binder){
DateFormat dateFormat = new DateFormatUtil("yyyy-MM-dd");binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat,true));//true null값 허용, false null값 불허
}
resource bundle
==================================
typeMismatch.register=등록일은 (예) 2013-01-02 와 같은 형식으로 입력하세요.
반응형
'Spring' 카테고리의 다른 글
ojdbc6 maven 설정 (0) | 2016.09.29 |
---|---|
@Valid Annotation을 이용한 유효성 체크 (0) | 2016.09.29 |
스프링에서 커스텀 데이터 타입 변환 처리하기 (0) | 2016.09.29 |
오라클 드라이버 maven 설정하기 (0) | 2016.09.28 |
Spring3에서 tiles3 설정 (0) | 2016.09.28 |