網頁定義文本框,輸入日期格式的數據(如: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.
