• 自定义类型转换器


    1、创建自定义类型转换器类

    package com.ly.springmvc.converter;
    
    import org.springframework.core.convert.converter.Converter;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class StringToDateConverter implements Converter<String, Date> {
        @Override
        public Date convert(String s) {
            if(s == null) {
                return null;
            }
            s = s.trim();
            if("".equals(s)) {
                return null;
            }
            String pattern = "yyyy-MM-dd HH:mm:ss";
            if(s.length() == 10) {
                pattern = "yyyy-MM-dd";
            }
            SimpleDateFormat sdf = new SimpleDateFormat(pattern);
            try {
                return sdf.parse(s);
            } catch (ParseException e) {
                e.printStackTrace();
                throw new RuntimeException("字符串格式非yyyy-MM-dd HH:mm:ss");
            }
        }
    }

    2、在springmvc配置文件中注册自定义类型转换器

        <!--自定义类型转换器-->
        <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
            <property name="converters">
                <set>
                    <bean class="com.ly.springmvc.converter.StringToDateConverter"></bean>
                </set>
            </property>
        </bean>

    3、在springmvc配置文件中配置自定义类型转换器生效

        <!--启SpringMVC的注解驱动模式-->
        <!--conversion-service 配置自定义类型转换器生效-->
        <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>

    4、请求

    <form action="param/test1" method="post">
        userName:<input type="text" name="userName"><br>
        age:<input type="text" name="age"><br>
        birthday:<input type="text" name="birthday"><br>
        <input type="submit" name="提交">
    </form>

    5、处理方法

        @RequestMapping("/param/test1")
        public String testParam6(User u) {
            System.out.println("testParam6");
            System.out.println(u);
            return "success";
        }

    6、总结

    6.1、springmvc中String类型转为Date类型默认的格式是年月日之间用/分隔

  • 相关阅读:
    c#—— Task.FromResult 的使用
    libCurl的C++引用
    Mono Compatibility
    dos命令弹出对话框---Msg命令详解
    自解压的方式创建VC++程序的打包
    Microsoft Visual Studio 6.0 Enterprise Edition
    CRegKey 注册表操作
    数据库之 表与表之间的关系
    数据库之完整性约束
    数据库之数据类型
  • 原文地址:https://www.cnblogs.com/liuyang-520/p/12368990.html
Copyright © 2020-2023  润新知