1、在使用表單提交,後臺接收來的數據都是String類型的,一般情況下spring就會自動進行前後臺的自動匹配,但是數據類型不一致會報錯,說前臺傳過來的數據不合法,如果實體類你寫的日期是Date類型,或者使用逆向工程自動生成的一般都是Date類型的數據,就會報錯,
Unable to convert value "" from type 'java.lang.String' to type 'java.util.Date'; nested exception is java.lang.IllegalArgumentException]
一、類型轉換:
1、如果是後臺單個接收數據可以直接更改數據類型即可
2、如果 你爲了省事使用的是@ModelAttribute 註解方式,就需要在控制器中寫數據轉換,一定不要忘了註解 @InitBinder,需要加在相關的Controller裏面
@InitBinder
public void initBinder(WebDataBinder cdate, WebRequest request) {
//轉換日期 注意這裏的轉化要和傳進來的字符串的格式一直 如2015-9-9 00:00:00 就應該爲yyyy-MM-dd HH:mm:ss
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
cdate.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor爲自定義日期編輯器
}