• Spring MVC 自定义转换器


    实现converter接口方法
     
    自定义转换器类代码如下:
    import org.springframework.core.convert.converter.Converter;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
    public class DateConvert implements Converter<String, Date> { 
        @Override 
        public Date convert(String stringDate) { 
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
            Date d = null;
                    try {
                d = simpleDateFormat.parse(stringDate); 
            } catch (ParseException e) { 
                e.printStackTrace(); 
            } 
                return d; 
        }
    }
     
     
    Spring MVC中需要配置如下:
     
    <bean id="dateConvert" class="com.susq.springbegin.utils.DateConvert"/>
    <bean id="conversionService"
             class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
            <property name="dateConvert">
                    <set> <ref bean="stringToDateConverter"/> </set>
            </property> 
    </bean>
    <mvc:annotation-driven conversion-service="conversionService"/>
     

    也可以实现Formatter, 

    Formatter是一类特殊的Converter,专门处理字符串的转换

    类似于Converter, 修改实现和配置文件即可
     
    public class DateConvert implements Formatter<Date> {   
                 @Override 
                public Date parse(String s, Locale locale) throws ParseException { S
                impleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); 
                Date d = null; 
                            try { 
                    d = simpleDateFormat.parse(s); 
               } catch (ParseException e) {
                     e.printStackTrace(); 
                } 
                        return d; 
            } 
                @Override 
                public String print(Date date, Locale locale) { 
                        return null; 
            } 
    }
    配置文件如下:
    <bean id="dateConvert" class="com.susq.springbegin.utils.DateConvert"/> 
    <bean id="conversionService" 
            class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> 
            <property name="formatters"> 
                <set> <ref bean="dateConvert"/> </set> 
            </property> 
     </bean> 
    <mvc:annotation-driven conversion-service="conversionService"/>
     
     
    日期转换除了自定义还可以使用注解
    @DateTimeFormat(partten="yyyy-MM-dd")
  • 相关阅读:
    什么是多线程中的上下文切换?
    什么是基本表?什么是视图?
    什么是存储过程?用什么来调用?
    随意写文件命令?怎么向屏幕输出带空格的字符串,比如” hello world”?
    NULL 是什么意思 ?
    Mock 或 Stub 有什么区别?
    什么叫视图?游标是什么?
    什么是微服务中的反应性扩展?
    什么是线程组,为什么在 Java 中不推荐使用?
    Java 中用到的线程调度算法是什么?
  • 原文地址:https://www.cnblogs.com/gaofz/p/7489714.html
Copyright © 2020-2023  润新知