SpringMVC自定义日期转换器方式

 更新时间:2024年07月08日 10:51:49   作者:xuebanub1  
这篇文章主要介绍了SpringMVC如何自定义日期转换器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、问题

问题

  • 当日期传参格式为2023/5/13时,因为这是Spring默认日期格式,所以能解析
  • 当日期传参格式为2023-5-13时,因为这不是Spring默认日期格式,所以不能解析

解决方案

  • 自定义日期格式

二、实现Converter<S,T>接口

1.该接口位置

org.springframework.core.convert.converter.Converter

2.创建DateConverter实现类

实现convert方法

public class DateConverter implements Converter<String,Date> {
    @Override
    public Date convert(String s) {
        //将日期字符串转换为日期对象返回
        //自定义日期格式
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        Date date;
        try {
            //转换
            date = sf.parse(s);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        //将日期对象返回
        return date;
    }
}

三、在Spring-MVC.xml配置文件中声明转换器

1.设置id

conversionService

2.设置class

org.springframework.context.support.ConversionServiceFactoryBean

3.配置converters属性

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <!--配置converters属性-->
        <property name="converters">
            <list>
                <!--指向DateConverter实现类-->
                <bean class="com.jd.converter.DateConverter"></bean>
            </list>
        </property>
    </bean>

四、在mvc注解中引用转换器

<!--mvc的注解驱动-->
<mvc:annotation-driven conversion-service="conversionService"/>
  • conversion-servic的值为第三步设置的id(即转换器的id)

五、测试

1.接收日期参数并打印

@Controller
public class UserController {
    @RequestMapping(value = "/quick13")
    @ResponseBody
    public void save13(Date date){
        System.out.println(date);
    }
}

2.在网页输入url传参

  • 参数:date=2023-5-13

http://localhost:8080/quick13?date=2023-5-13

  • 打印结果

Sat May 13 00:00:00 CST 2023

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java调用微信接口实现网页分享小功能

    java调用微信接口实现网页分享小功能

    这篇文章主要为大家详细介绍了java调用微信接口实现网页分享小功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Java高效调试排查代码技巧详解

    Java高效调试排查代码技巧详解

    这篇文章主要介绍了Java高效调试排查代码技巧,调试是一项不可或缺的技能,无论你是经验丰富的开发者,还是初入编程世界的新手,都难免会遇到代码出错的情况,有效的调试能帮助我们快速定位并解决问题,提高开发效率,需要的朋友可以参考下
    2025-04-04
  • MybatisPlus 自定义插件实现拦截SQL修改功能(实例详解)

    MybatisPlus 自定义插件实现拦截SQL修改功能(实例详解)

    这篇文章主要介绍了MybatisPlus 自定义插件实现拦截SQL修改功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • java文件操作工具类分享(file文件工具类)

    java文件操作工具类分享(file文件工具类)

    java文件操作工具类(文件工具类)
    2014-01-01
  • java实现日历功能

    java实现日历功能

    这篇文章主要为大家详细介绍了java实现日历功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 优化spring boot应用后6s内启动内存减半

    优化spring boot应用后6s内启动内存减半

    这篇文章主要为大家介绍了优化spring boot后应用6s内启动内存减半的优化示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-02-02
  • Java Spring中Quartz调度器详解及实例

    Java Spring中Quartz调度器详解及实例

    这篇文章主要介绍了Java Spring中Quartz调度器详解及实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java 配置log4j日志文件路径 (附-获取当前类路径的多种操作)

    Java 配置log4j日志文件路径 (附-获取当前类路径的多种操作)

    这篇文章主要介绍了Java 配置log4j日志文件路径 (附-获取当前类路径的多种操作),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 深入了解volatile和Java内存模型

    深入了解volatile和Java内存模型

    在本篇文章当中,主要给大家深入介绍Volatile关键字和Java内存模型。在文章当中首先先介绍volatile的作用和Java内存模型,然后层层递进介绍实现这些的具体原理、JVM底层是如何实现volatile的和JVM实现的汇编代码以及CPU内部结构,感兴趣的可以了解一下
    2022-08-08
  • Spring MVC的参数绑定和返回值问题

    Spring MVC的参数绑定和返回值问题

    这篇文章主要介绍了Spring MVC的参数绑定和返回值问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论