潘氏番茄酱

不积跬步无以至千里

导航

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区别为这个是前台往后台传参,后台接收参数时;

 

posted on 2019-08-19 22:58  潘氏番茄酱  阅读(2833)  评论(0编辑  收藏  举报