2010-08-11 9 views
2

... mais enregistréressort 3 mon convertisseur n'est pas utilisé

Utiliser Spring 3

J'ai deux convertisseurs enregistrés comme suit:

<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> 

Les convertisseurs ressemblent à ceci:

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"; 
    } 
} 

Le problème est qu'ils ne sont pas utilisés lors de la conversion dans les demandes post et get. Qu'est-ce que je fais de mal? Que dois-je faire pour que cela fonctionne? THX!

Répondre

0

Voici la configuration des convertisseurs qui fonctionne pour moi. Les différences que vous pourriez essayer de changer:

  • Je passe dans un ensemble au lieu d'une liste. (setConverters prend un paramètre Set)
  • J'utilise FormattingConversionServiceFactoryBean au lieu de ConversionServiceFactoryBean. (Ne devrait pas importer)
  • Mes convertisseurs sont définis comme des haricots de niveau supérieur et référencés. (Aussi ne devrait pas importer)

Espérons que l'un de ces va résoudre votre problème.

<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> 
2

Utilisez-vous <mvc:annotation-driven> et si oui, êtes-vous pointant vers conversionService dans l'attribut ?

Questions connexes