Bonjour,
Je galère depuis des jours sur un problème que je ne comprends pas.
Dans une page XHTML, j'ai 3 boutons (en fait des h:commandlink) :
1 bouton A qui exécute une méthode A
1 bouton B qui exécute aussi la méthode A
1 bouton C qui exécute une méthode C
Lorsque je clic sur A, B ou C, la méthode exécutée est bien A, A ou C : jusque là je comprends !
Mais en y regardant de plus près, je m'aperçois que les clics sur A ou B exécutent aussi la méthode C !!
Je pense que j'ai dû passer à coté de quelque chose d'important ...
Y a-t-il une explication rationnelle à ce problème ??
MERCI POUR VOTRE AIDE
Bouton A :
Bouton B :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div style="position:relative; left:-25px; top:-115px; z-index:2"> <p:commandLink action="#{catalogManagerBean.imageTheme('precedent')}" update="panelImages"> <p:graphicImage id="imagePrecedente" value="images/gauche.png" style="width:26px"/> <p:tooltip for="imagePrecedente" value="Thème précédent" position="left" styleClass="bulle"/> </p:commandLink> </div>
Bouton C :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div style="position:relative; left:535px; top:-145px; z-index:2"> <p:commandLink action="#{catalogManagerBean.imageTheme('suivant')}" update="panelImages"> <p:graphicImage id="imageSuivante" value="images/droite.png" style="width:26px"/> <p:tooltip for="imageSuivante" value="Thème suivant" position="right" styleClass="bulle"/> </p:commandLink> </div>
Méthode A :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div align="center" style="position:relative; height:20px; margin-top:-28px"> <h:commandLink id="choisirTheme" onclick="#{catalogManagerBean.choixTheme()}"> <img src="images/epingle.png" align="absmiddle" style="width:20px"/> <h:outputText value="Choisir #{catalogManagerBean.themeImageAfficheeNom}"/> </h:commandLink> </div>
Méthode C :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void imageTheme(String direction) { if (direction.equals("suivant")) { setThemeImageNumero(getThemeImageNumero() + 1); if (getThemeImageNumero() > themeListeImages.size() - 1) { setThemeImageNumero(0); } } else { setThemeImageNumero(getThemeImageNumero() - 1); if (getThemeImageNumero() < 0) { setThemeImageNumero(themeListeImages.size() - 1); } } themeImageAffichee = themeListeImages.get(getThemeImageNumero()); }
Le system.out.println de cette dernière méthode montre que themePrecedent et themeCourant sont modifiées même si je clic sur "Précédent" ou "Suivant" !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void choixTheme() { setThemePrecedent(getThemeCourant()); setThemeCourant(getThemeImageAffichee()); setThemePanelConfirmerModification(true); System.out.println("Precedent : " + themePrecedent + " Courant : " + themeCourant); }
MERCI de m'aider à résoudre ce problème car si je n'ai pas de solution je devrais abandonner ce code !!!!
Partager