7.SpringMVC-格式转换器

本文最后更新于2024.04.28-06:51,某些文章具有时效性,若有错误或已失效,请在下方留言或联系涛哥

自定义格式转换器的使用

1.创建 转换器类

该类实现 Formatter<T> 接口,

2.重写

a:parse方法:把接收到的字符串转换成需要的数据类型 

b:print方法:把模型中的数据输出到页面时,按照指定的字符串输出 

补充:需要借助spring标签,el表达式无效

package com.edu.formatter;
​
import org.springframework.format.Formatter;
​
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
​
class StringToDateFormatter implements Formatter<Date> {
​
    public Date parse(String s, Locale locale) throws ParseException {
        DateFormat dft=new SimpleDateFormat("yyyy-MM-dd");
        return dft.parse(s);
    }
​
    public String print(Date date, Locale locale) {
        DateFormat dft=new SimpleDateFormat("yyyy/MM/dd");
        return dft.format(date);
    }
}

3.在mvc的配置文件中 注册 该转换器

a 配置 bean FormattingConversionServiceFactoryBean

b 注入 formatters 属性

c. 注册服务

d.前端传参的时候 直接控制器里 方法形参的对象名 即可

<!--格式转换器-->
<bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean" id="conversionService">
        <property name="formatters">
            <set>
                <bean class="com.edu.formatter.StringToDateFormatter"></bean>
            </set>
        </property>
</bean>
<!--注册服务-->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
阅读剩余
THE END