Frage

Ist es möglich, mehrere ActionListener auf einer Befehlstaste zu haben?

Wenn nicht, gibt es irgendwie um das?

Danke für Ihre Hilfe!

War es hilfreich?

Lösung

Nein, Sie können nur zwei serverseitige Rückrufmethoden hinzufügen:

  • actionListener und
  • action.

<ice:commandButton action="#{bean.navigateTo}" actionListener="#{bean.doSomething}"/>

actionListener muss auf eine öffentliche Methode verweisen, die zurückkommt void und nimmt einen Action -Wert als Argument. Es wird im Allgemeinen für Aufgaben verwendet, die nicht mit einer Navigationslogik zusammenhängen und den Vorteil haben, um Ihnen den alten und neuen (= geänderten) Wert der Kontrolle zu bieten. Dies macht bei Eingabesteuerungen wie Kontrollkästchen besondere Sinn.

action muss auf eine öffentliche Methode verweisen, die a zurückgibt String Ohne Argumente zu nehmen. Die Methode erledigt alles, was für das Navigieren benötigt wird - beispielsweise zusätzliche Validierung (wenn sie nicht von einem grundlegenden JSF -Validator behandelt wurde). Das Ergebnis muss mit den Navigationsregeln übereinstimmen faces-config.xml.

Dies sollte Ihnen genügend Möglichkeiten bieten, um mehrere Aufgaben zu erledigen (von denen ich annehme, dass es Ihr Grund für mehrere ActionListener ist) in Ihrer Serverlogik.

Wenn Sie nur einige clientseitige Aufgaben ausführen müssen, können Sie mehrere auf* JavaScript-Eigenschaften nutzen.

Bezug: ICEFACES Benutzerdefinierte Komponenten Taglib

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top