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 :
qui indique à JSF d'aller chercher les beans qu'il ne trouve pas dans l'applicationContext.xml de Spring.
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>
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 :
et cela ne marche pas, mon mgr dans l'objet MonConverter n'est pas instancié (valeur null).
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>
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.
Partager