SpringMvc中對日期的處理


1. 如果請求報400錯誤,就說明是請求參數有問題

2. 請求參數為日期類型

日期類型比較特殊,如果接收參數為日期類型,不對日期類型處理,就會報如上圖的400錯誤,那如何解決日期參數問題呢?

2.1.方法兩種一

接收參數為對象User,聲明User對象,其中日期字段添加注解@DateTimeFormat注解

2.2

2.3. 第二種方式

如果不想每次都是都在Date類型上添加@DataTimeFormat注解,則使用@InitBinder注解

上述這種方式,需要在每個Controller中定義一個initBinderDateType方法,如果我想定義一個全局的方法,應該怎么做?

添加一個類,添加@ControllerAdvice注解,這個注解的意思,顧名思義,就是Controller增強,這個注解是被springmvc注解解析器來解析,並將這個類放到一個可掃描到的包里去。

3. 在jsp中展示日期,格式化

如果不對日期進行格式化,則展示的日期格式如下圖

對jsp日期展示格式化的操作:

 

jsp需要先引入兩個標簽庫,這兩個標簽庫在tomcat的案例中,這兩個標簽庫的作用是支持jstl

然后jsp的代碼如下:

 

 格式化之后,展示的結果如下圖:

4.后台往前台響應json時,Date類型

4.1 如果直接返回user的json串,展示的日期格式為一個毫秒數,如下兩圖

 

 

 4.2 那如何解決上述問題

第一種方式,在web.xml中添加如下配置

上述方式很惡心,不建議使用;

第二種方式

 在返回的實體類中添加注解@JsonFormat,這個是后台往前台傳遞參數時,只限於返回格式為json,展示內容為毫秒時,可以通過這個注解展示年月日時分秒,與@DateTimeFormat區別為這個是前台往后台傳參,后台接收參數時;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM