zoukankan      html  css  js  c++  java
  • spring

    https://www.cnblogs.com/clamp7724/p/11703406.html

    在这个基础上修改的

    spring中设置了自动的类型转换,可以把前台数据自动进行类型转换传给后台,不过有些特殊情况可能需要自己定义类型转换

    比如前台传回String 2019/10/21  后台是可以自动转化为 Date 的

    但是如果是 2019-10-21 就会报错

    这时候就需要自定义类型转换并加到spring中。

    reference: https://www.bilibili.com/video/av50213945/?p=14

    第一步:定义一个类,实现Converter接口,该接口有两个泛型。

    第二步:

    在springmvc.xml (springmvc的配置文件,在resources下面)里的beans里添加新的bean

    <!-- 配置类型转换器工厂 添加新的类型转换-->
        <bean id="converterService" class="org.springframework.context.support.ConversionServiceFactoryBean">
            <!-- 给工厂注入一个新的类型转换器 -->
            <property name="converters">
                <array> <!-- 配置自定义类型转换器 这里class是自己写的转换类的完整名字(路径+名字)-->
                    <bean class="hello_word.method.MyStringToDate"></bean>
                </array>
            </property>
        </bean>

    第三步:在annotation-driven标签中引用配置的类型转换服务

    <mvc:annotation-driven conversion-service="converterService"></mvc:annotation-driven>

    修改后整个springmvc的代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    
    <!-- 配置spring创建容器时要扫描的包 -->
    <context:component-scan base-package="hello_word"></context:component-scan>
    
    <!-- 配置视图解析器,  决定controller对应的显示页面去哪找-->
    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    <!-- 配置spring开启注解mvc的支持-->
    <mvc:annotation-driven conversion-service="converterService"></mvc:annotation-driven>
    
        <!-- 配置类型转换器工厂 添加新的类型转换-->
        <bean id="converterService" class="org.springframework.context.support.ConversionServiceFactoryBean">
            <!-- 给工厂注入一个新的类型转换器 -->
            <property name="converters">
                <array> <!-- 配置自定义类型转换器,这里class是自己写的转换类的完整名字(路径+名字) -->
                    <bean class="hello_word.method.MyStringToDate"></bean>
                </array>
            </property>
        </bean>
    </beans>

    修改java代码和jsp用于测试

    user 添加 Date birthday属性,添加get,set,修改toString

    前台表单添加

    用户生日(yyyy-mm-dd):<input type="text" name = 'user.birthday'><br/>

    测试结果:

     

  • 相关阅读:
    python之定时器Timer
    (转载)Python一篇学会多线程
    docker速记
    IP地址简单入门
    pycharm快捷键及一些常用设置(转载)
    python系列1_travel
    Fluter基础巩固之Dart语言详解<三>
    Fluter基础巩固之Dart语言详解<二>
    Fluter基础巩固之Dart语言详解<一>
    Java精通并发-Condition编程模式详解与分析
  • 原文地址:https://www.cnblogs.com/clamp7724/p/11712751.html
Copyright © 2011-2022 走看看