前端传给后端的日期是字符串,但是介绍类型是Date类型出错:
解决方法一:
1.使对应Controller控制器继承 extends SimpleFormController
2.重写initBinder方法
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
注意SimpleDateFormat日期格式与页面日期格式要一致!
解决方法二:
Spring3.0以上的SimpleFormController 已经过时了,最新方式是使用@InitBinder注解的方式
在对应的Controller控制器中
复制代码
@InitBinder
protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
复制代码