Je travaille avec JSF 1.1 toujours et je n'ai aucun soucis avec le passage de paramètres aux bean. Soit dans le faces-config tu fais ce genre de chose pour les récupérer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<managed-bean>
<managed-bean-name>circlesBean</managed-bean-name>
<managed-bean-class>be.rmi.intranet.jsf.HrCirclesBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>selectedCirclesId</property-name>
<property-class>java.lang.Long</property-class>
<value>#{param.circlesId}</value>
</managed-property>
<managed-property>
<property-name>selectedCycleId</property-name>
<property-class>java.lang.Long</property-class>
<value>#{param.cycleId}</value>
</managed-property>
<managed-property>
<property-name>selectedTalkId</property-name>
<property-class>java.lang.Long</property-class>
<value>#{param.talkId}</value>
</managed-property>
</managed-bean> |
Ca lie simplement des propriétés de ton bean à des paramètres (qu'ils soient GET ou POST n'y change rien!). C'est un exemple avec faces-config.xml. Spring doit avoir l'équivalent, puisque les managed-properties sont au centre de JSF.
soit, dans ton code, tu fais ce genre de chose
String vacancyParam = (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("vacancyIndex");
de nouveau, que ce soit get ou post n'y change rien
Le seul "problème" (si on puis dire) que je connaisse à JSF par rapport au GET, c'est qu'on ne peux facilement pas simuler l'envoi d'un formulaire comme on le ferait avec d'autres framework. Exemple, avec struts, tu crée un lien:
delete.do?itemToDelete=blabla&confirm=blabla
et ca fonctionne exactement de la même manière que si tu avais eu un formulaire avec une liste déroulante pour choisir itemToDelete et une case à remplir pour le confirm (par exemple).
Avec JSF, toute soumission d'un formulaire nécessite qu'au préalable le formulaire aie été visible (c'est du aux cycles de vie JSF), ce qui rend difficile la création de lien direct qui simulent un état précis du formulaire. Donc rend difficile l'appel direct à une action. Mais si il s'agit juste de présenter des donnée suivant des critères passés en paramètres, ca ne pose pas de problème (cf faces-config ci dessus ou configuration spring).
Partager