Alors, laissez-moi nous montrer mes ennuis :)JSF - Deux questions sur les actions sur UIComponent
1 - Lorsque je clique sur un bouton de commande
<h:commandButton value="Somethings">
<f:setPropertyActionListener target="#{bean.method}" value="some" />
<f:ajax render="rendering"/>
</h:commandButton>
Je ne fais aucune action à le commandButton
. Juste je tire l'appel d'ajax. Si j'ajoute une action sur le bouton (comme action="bean.myAction
) il sera exécuté dans la phase 5 ° du cycle de vie JSF (allright, seulement si j'écris event = "action" dans le f: ajax, mais c'est par défaut). Droite? Mais le f: ajax est déclenché en cliquant sur le bouton par défaut? Parce que pour un ListBox par exemple, il est déclenché seulement si j'écris event = "change" (le même, je ne devrais pas l'écrire, parce que c'est par défaut).
2 - Lorsque je clique sur l'image
<h:graphicImage value="img/img.png" alt="img">
<f:setPropertyActionListener target="#{bean.method}" value="some" />
<f:ajax event="onclick" render="rendering"/>
</h:graphicImage>
Ce travail ne marche pas. Pourquoi?
Comme d'habitude, merci pour l'aide !!!!
pour la première question: OK. Mais ce que je ne comprends toujours pas, c'est ceci: pour un ListBox, le 'f: ajax' est appelé quand le ListBox change par exemple. ('event =" change "'). Mais pour le bouton? Comment dire que lorsque vous appuyez dessus, vous devez exécuter le code dessus? C'est le comportement par défaut je pense, ou j'ai oublié quelque chose? – markzzz
L'événement par défaut 'f: ajax' pour les composants' UICommand' (en fait, 'ActionSource') est' click'. Voir aussi la description de l'attribut 'event' dans le document PDL' f: ajax' que j'ai lié dans ma réponse (toutes les parties de code bleues dans ma réponse sont en fait des liens vers la documentation de référence officielle). – BalusC
Uhm. Donc si j'écris moi-même 'action =" bean.myFunction "' sur 'commandButton' et que j'utilise' f: ajax event = "click" 'l'action ne sera pas exécutée? – markzzz