Bonjour,

j'ai écris un converter pour mon appli JSF; ma classe implémente donc l'interface Converter et donc les deux methodes getAsObject et getAsString.

Pour la méthode getAsObject, j'ai besoin d'un manager de ma couche Service.
J'ai donc ajouté un attribut manager dans ma classe Converter ainsi qu'un setter approprié.

J'utilise l'IoC de Spring donc mon objet Manager est un bean declaré dans mon fichier ApplicationContext.xml.

Dans mon faces-config.xml, j'ai declaré l'element :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<application>
        <variable-resolver>
            org.springframework.web.jsf.DelegatingVariableResolver
            </variable-resolver>
        <locale-config/>
    </application>
qui indique à JSF d'aller chercher les beans qu'il ne trouve pas dans l'applicationContext.xml de Spring.

J'ai maintenant un problème : je ne sais pas comment faire pour déclarer mon converter de façon à lui injecter mon bean Manager.
J'ai pour l'instant testé ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<converter>
        <converter-id>MonConverter</converter-id>
        <converter-class>com.jsf.MonConverter</converter-class>
        <property>
            <property-name>mgr</property-name>
            <property-class>com.service.Manager</property-class>
            <suggested-value>#{manager}</suggested-value>
        </property>
</converter>
et cela ne marche pas, mon mgr dans l'objet MonConverter n'est pas instancié (valeur null).
J'ai verifié si le setter du manager dans la classe MonConverter etait appelé, et il l'est. Cependant, le parametre du setter est nul.