@DateTimeFormat注解问题

org.springframework.format.annotation.DateTimeFormat在springMVC框架中对日期string类型转化时,
会出现日期冬夏令时的问题,比如birthdate=1986-05-04转换成@DateTimeFormat(pattern = "yyyy-MM-dd")private Date birthdate;
会报非法异常调用方法在org.elasticsearch.common.joda.time.format.DateTimeParserBucket#computeMillis(boolean, java.lang.CharSequence);
造成请求400的错误,请求进入了服务器,但是服务器找不到对应的ModelAndView.


解决方案:

1.对请求的数据通过自定义String类型接收再处理

2.当前Controller里面添加方法,针对每次请求都会对日期Date的数据进行自定义数据绑定

@InitBinder
protected void dateBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    CustomDateEditor editor = new CustomDateEditor(dateFormat, true);
    binder.registerCustomEditor(Date.class, editor);
}

参考https://blog.csdn.net/minggai008/article/details/70305955

猜你喜欢

转载自blog.csdn.net/u010291429/article/details/80077577