Bonjour,
J'ai une page nommée Editer_creer.jsp qui sert autant pour la mise-à-jour que pour la création de nouveaux membres d'une association.
Le lien soumettre de cette page se lit comme suit :
Je dois modifier cette page pour que la bean appelée en cliquant sur le lien pointe soit vers la méthode pour créer un nouveau membre, soit vers celle pour éditer un membre existant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h:commandLink action="#{membres.edit}" value="#{msgs['Enregistrer']}"> <f:param name="jsfcrud.currentMembres" value="#{jsfcrud_class['EntitesJPA.util.JsfUtil'].jsfcrud_method['getAsConvertedString'][membres.membres][membres.converter].jsfcrud_invoke}"/> </h:commandLink>
Pour ce faire, j'ai pensé mettre les deux liens mais avec une condition «rendered» qui ne serait vraie que pour le cas approprié, ce qui fait que la page ne serait générée qu'avec un seul lien, comme suit :
La question est donc : comment puis-je dans la bean PanneauPrincipal écrire une méthode Editer qui pourrait trouver dans le FaceContext la méthode de la bean "membres" qui a engendré l'affichage de la page Editer_creer.jsp? (La méthode ayant engendré la page en question est soit "membres.edit_setup" ou "membres.create_setup").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <h:commandLink rendered="#{PanneauPrincipal.Editer}" action="#{membres.edit}" value="#{msgs['Enregistrer']}"> <f:param name="jsfcrud.currentMembres" value="#{jsfcrud_class['EntitesJPA.util.JsfUtil'].jsfcrud_method['getAsConvertedString'][membres.membres][membres.converter].jsfcrud_invoke}"/> </h:commandLink> <h:commandLink rendered="#{!PanneauPrincipal.Editer}" action="#{membres.create}" value="#{msgs['Enregistrer']}"> <f:param name="jsfcrud.currentMembres" value="#{jsfcrud_class['EntitesJPA.util.JsfUtil'].jsfcrud_method['getAsConvertedString'][membres.membres][membres.converter].jsfcrud_invoke}"/> </h:commandLink>
Je suppose que cela implique la méthode NavigationHandler() mais je ne sais pas trop comment la formuler.
Merci à l'avance de votre aide!
PC
Partager