当提交时,数据的格式化和转换是一起发生的,我们在前端输入的时间数据需要转换成springmvc里面的对象的类型的格式,不然会报:
首先在sprinbmvc配置文件里面添加:
<mvc:annotation-driven></mvc:annotation-driven>
然后可以在相应属性上指定格式:
@DateTimeFormat(pattern="yyyy-mm-dd")
private Date birth;
此时再提交,就不会报4o4了,在控制台可以看到:
数据格式化:
如果格式化失败,我们可以这么写:
@RequestMapping(value="/emp",method=RequestMethod.POST)
public String save(Employee employee, BindingResult result) {
System.out.println("save-->"+employee);
if (result.getErrorCount()>0) {
System.out.println("出错了");
for(FieldError error:result.getFieldErrors()) {
System.out.println(error.getField()+":"+error.getDefaultMessage());
}
}
employeeDao.save(employee);
return "redirect:/emps";
}
可以利用BindingResult来接受格式化错误消息,进行下一步处理。