春天3我的转换器没用过

时间:2010-08-11 20:11:23

标签: spring

...但已注册

使用Spring 3

我有两个转换器注册如下:

<beans:bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
   <beans:property name="converters">
      <beans:list>
      <beans:bean class="mypackage.CalendarToStringConverter" />
      <beans:bean class="mypackage.StringToCalendarConverter" />
   </beans:list>
   </beans:property>
</beans:bean>

转换器看起来像这样:

public class StringToCalendarConverter implements Converter< String, Calendar > {
   public Calendar convert( String value ) {
      return Calendar.getInstance();
   }
}

public class CalendarToStringConverter implements Converter< Calendar, String > {
   public String convert( Calendar arg0 ) {
      return "23.10.1985";
   }
}

问题是在post和get请求转换期间不使用它们。 我究竟做错了什么? 要做到这一点,我该怎么办? THX!

2 个答案:

答案 0 :(得分:2)

您使用的是<mvc:annotation-driven>吗?如果是,您是否指向conversion-service属性中的conversionService?

答案 1 :(得分:0)

这是适用于我的转换器配置。您可能尝试更改的差异:

  • 我传入一个集合而不是列表。 (setConverters采用Set参数)
  • 我使用FormattingConversionServiceFactoryBean而不是ConversionServiceFactoryBean。 (无所谓)
  • 我的转换器被定义为顶级bean并被引用。 (也应该没关系)

希望其中一个可以解决您的问题。

<util:set id="converters" >
   <ref bean="userDao" />
   <ref bean="orderDao" />
<util:set>

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    <property name="converters" ref="converters"/>
</bean>