Spring MVC学习之——自定义日期转化器

日期转换器

在数据库中的日期数据是date类型,而如何我们想在页面自己添加数据,一般是使用年-月-日的形式,这种形式不仅date类型接收不到,而且传来的是String类型,此时,我们就可以自定义日期转换器来接收数据。

4.4.1.使用场景

  • 在index.jsp里面添加日期类型

    html 复制代码
        <form action="account/saveAccount" method="post">
          账户名称:<input type="text" name="name"><br/>
          账户金额:<input type="text" name="money"><br/>
          账户省份:<input type="text" name="address.provinceName"><br/>
          账户城市:<input type="text" name="address.cityName"><br/>
          开户日期:<input type="text" name="date"><br/>
          <input type="submit" value="保存">
        </form>
  • 在pojo里面添加日期类型

    java 复制代码
    public class Account implements Serializable {
        private Integer id;
        private String name;
        private Float money;
        private Address address;
        //添加日期类型
        private Date date;
        //省略get set toString方法
    }    
  • 测试


使用

  1. Converter接口说明:
  1. 定义一个类,实现Converter接口

    java 复制代码
    public class DateConverter implements Converter<String, Date> {
        @Override
        public Date convert(String source) {
            try {
                DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                return format.parse(source);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }
  2. 在 springmvc.xml配置文件中配置类型转换器

    xml 复制代码
    	<!--开启springmvc注解支持-->
        <mvc:annotation-driven conversion-service="cs"></mvc:annotation-driven>
        <!-- 配置类型转换器工厂 -->
        <bean id="cs"
              class="org.springframework.context.support.ConversionServiceFactoryBean">
            <!-- 给工厂注入一个新的类型转换器 -->
            <property name="converters">
                <set>
                    <!-- 配置自定义类型转换器 -->
                    <bean class="com.by.converter.DateConverter"></bean>
                </set>
            </property>
        </bean>
相关推荐
草莓熊Lotso19 小时前
Python 入门超详细指南:环境搭建 + 核心优势 + 应用场景(零基础友好)
运维·开发语言·人工智能·python·深度学习·学习·pycharm
June bug20 小时前
【实习笔记】Fiddler学习笔记
笔记·学习·fiddler
我怕是好20 小时前
学习STM32 ESP8266
stm32·嵌入式硬件·学习
lpfasd12320 小时前
springcloud docker 部署问题排查与解决方案
spring·spring cloud·docker
JeffDingAI20 小时前
【Datawhale学习笔记】动手学RNN及LSTM
笔记·rnn·学习
qqqahhh20 小时前
xml文件的动态化配置,导入
xml·spring·springboot
BullSmall20 小时前
SEDA (Staged Event-Driven Architecture, 分阶段事件驱动架构
java·spring·架构
JeffDingAI21 小时前
【Datawhale学习笔记】预训练模型实战
笔记·学习
GISer_Jing21 小时前
AI Coding学习——dw|ali(持续更新)
人工智能·学习·prompt·aigc
振华说技能21 小时前
MasterCAM车铣复合都学哪些内容!
学习