1.model:
public class UserType implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String typeName;
private String remark;
private Date addDate;
private Date editDate;
2.
用户类型类型名称:
备注:
添加时间:
2011-9-2 10:19:23
"/>
编辑时间:
"/>
3.controller 方法
@RequestMapping(value = "create", method = RequestMethod.POST)
public String create(@ModelAttribute UserType userType , Model model) {//BindException exception
}
4.问题
一般情况下,添加时间和更新时间都不需要用户填写,但是如果去掉了这两个input的话,将会出现异常,提示字符串""向Date类型转换异常,毕竟用户都没有输入,因此提示这个情有可原,然而这两个时间是不需要用户输入的,我希望在方法体中手工设置:setAddDate(new Date())和setEditDate(new Date())
请教这样的需求如何解决??
不用这个模型来接收参数了。
解决办法:
另外创建一个dto来接收参数,然后在方法体里面new 一个UserType,重载一个UserType的构造器,传入新建的dto对象,在这个新的构造器里面设置添加和更新时间,这样在这个Controller里面的代码同样很简洁,而且这个dto以后也许还能重用,重载的构造器也能得到重用。