使用表單提交遇到date類型轉換不一致問題

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爲自定義日期編輯器
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章