对请求中的日期格式进行转换

概述:

由于SpringMVC框架只能接收指定格式的日期(yyyy-MM-dd),所有在SpringMVC获取日期之前对请求中的日期格式进行转换,方式如下:

方式一:创建数据类型转换器;

    spring提供了好多转换器,这也正是SpringMVC可以自动对请求中的参数进行封装的原因,由于日期的格式太多所以spring没有提供日期类型的转换器,不过spring提供了一个供使用者创建类型转换器的接口,我们可以通过该接口创建可以转换为指定格式日期的转换器;

    步骤:

        1)、实现Converter接口;

        2)、重写convert方法;

        3)、在convert方法中编写转换流程;

    代码截图:

创建类型转化器

     4)、将自定义的类型转换器添加到Spring中的转换器工厂;

        代码截图:

将自定义的类型转换器添加到Spring中的类型转换器工厂

    5)、设置conversion-service属性;

       代码截图:   

conversion-service属性设置

方式二:注解

在实体bean日期属性上添加@DateTimeFormat(pattern = "yyyy-MM-dd") 注解;

方式三:

   1)、在Controller层添加一个方法,方法参数为WebDataBinder类型;

   2)、在方法上添加InitBinder注解;

   3)、编写方法中的业务逻辑;

            代码截图:

方法代码

             方法参数详解:

                    WebDataBinder:该对象中封装的是请求中的参数;

                    Date.class:该参数为目标类型;

                    new PropertiesEditor:该匿名内部类为类型转换器;

                    setAsText方法:该方法为对转换流程的封装;

                    setAsText方法参数:请求中需要转换的参数;

三种方式比较:

    方式一:程序中的任何部分都可以使用;(推荐使用)

    方式二:只有添加该注解的属性可以完成数据类型的转换;

    方式三:只有该方法所在的Controller可以使用;

                    

                    

你可能感兴趣的:(对请求中的日期格式进行转换)