0%

6.3 数据格式化 2.使用FormatterRegistrar注册Formatter

6.3 数据格式化 2.使用FormatterRegistrar注册Formatter

注册Formatter的另一种方法是使用FormatterRegistrar

自定义注册器

实现FormatterRegistrar只需要实现一个方法,就是registerFormatters,在该方法中添加需要注册的Formatter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MyFormatterRegistrar
implements FormatterRegistrar
{
private DateFormatter dateFormatter;
public void setDateFormatter(DateFormatter dateFormatter)
{
this.dateFormatter = dateFormatter;
}
@Override
public void registerFormatters(FormatterRegistry registry)
{
registry.addFormatter(dateFormatter);
}
}

配置文件中注册Registrar

配置文件中不需要再注册任何Formatter了,而是注册Registrar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!-- 装配自定义格式化 -->
<mvc:annotation-driven conversion-service="conversionService" />
<!-- 指定类全名,创建自定义格式化类 -->
<!-- 指定日期字符串表示格式 -->
<bean
id="dateFormatter"
class="org.fkit.formatter.DateFormatter"
c:_0="yyyy-MM-dd" />
<!-- 格式化 -->
<bean
id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatterRegistrars">
<set>
<!-- 创建自定义注册器 -->
<bean
class="org.fkit.formatter.MyFormatterRegistrar"
p:dateFormatter-ref="dateFormatter" />
</set>
</property>
</bean>

原文链接: 6.3 数据格式化 2.使用FormatterRegistrar注册Formatter