Also, lassen Sie mich uns meine Probleme zeigen :)JSF - Zwei Fragen zu Aktionen auf UIComponent
1 - Wenn ich auf einem Befehlsschaltfläche klicken
<h:commandButton value="Somethings">
<f:setPropertyActionListener target="#{bean.method}" value="some" />
<f:ajax render="rendering"/>
</h:commandButton>
ich nicht jede Aktion zu die commandButton
. Ich feuere nur den Ajax-Anruf. Wenn ich eine Aktion auf der Schaltfläche hinzufüge (wie action="bean.myAction
), wird sie in der 5 ° -Phase des JSF-Lebenszyklus ausgeführt (in Ordnung, nur wenn ich event = "action" in f: ajax schreibe, aber das ist der Standardwert). Recht? Aber der f: Ajax wird gefeuert, indem man auf den Button als Standard klickt? Denn für eine ListBox zum Beispiel wird es nur gefeuert, wenn ich event = "change" schreibe (das gleiche, ich sollte es nicht schreiben, weil das standardmäßig ist).
2 - Wenn ich auf das Bild klicken
<h:graphicImage value="img/img.png" alt="img">
<f:setPropertyActionListener target="#{bean.method}" value="some" />
<f:ajax event="onclick" render="rendering"/>
</h:graphicImage>
Dies funktioniert nicht. Warum?
Wie immer, danke für die Hilfe !!!!
für die erste Frage (und ggf. Stil der Grenze/Unterstrichen durch erzeugte
<a>
Element weg mit CSS verursacht): OK. Aber was ich noch nicht verstehe, ist folgendes: Für eine ListBox wird das 'f: ajax' aufgerufen, wenn sich zB ListBox ändert. ('event =" ändern "'). Aber für den Knopf? Wie sagst du, dass wenn du es drückst, du den Code darauf ausführen musst? Es ist das Standardverhalten, denke ich, oder ich habe etwas vergessen? – markzzzDas Standardereignis 'f: ajax' für' UICommand' (eigentlich 'ActionSource') Komponenten ist' click'. Siehe auch die Beschreibung des Attributs 'event' im PDL-Dokument 'f: ajax', das ich in meiner Antwort verlinkt habe (alle diese bläulichen Codeteile in meiner Antwort sind tatsächlich Links zu der offiziellen Referenzdokumentation). – BalusC
Uhm. Wenn ich also meine eigene 'action =" bean.myFunction "' auf 'commandButton' schreibe und ich' f: ajax event = "click" 'verwende, wird die Aktion nicht ausgeführt? – markzzz