网页定义文本框,输入日期格式的数据(如:2018-10-15 13:21)后用ajax提交到后台,后台报错不能保存,原因是:虽然提交的数据是日期格式,但系统却不认识,只能手工写代码告诉系统才可以。
方法1:
var createTime = $("#createTime").val();
...
"createTime" : new Date(createTime)
.....
必须显式的告诉系统,我这个数据是日期类型,这样后台才可以保存;
方法2:在接收前天数据的控制器类中(Controller)定义方法:
/**
* 将前台传递过来的日期格式的字符串,自动转化为Date类型
*/
@InitBinder
public void initBinder(WebDataBinder binder)
{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
这样就可以自动把前台传到后台的日期格式的数据自动转换为日期格式。
两种方法选其一,不能混用。首选方法2.