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區別為這個是前台往后台傳參,后台接收參數時;