Eine JSF-Schaltfläche an eine Funktion binden

Wenn Sie eine JSF-Schaltfläche im JSF-Handler an eine Funktion binden, wird die Funktion ausgeführt, wenn der Benutzer auf die Schaltfläche klickt.

Ein Befehl kann von einer Webseite am einfachsten akzeptiert werden, wenn die Funktion zuerst geschrieben und dann an die Schaltfläche gebunden wird:

  1. Erstellen Sie in einem EGL-Webprojekt eine Webseite.
  2. Erstellen Sie im JSF-Handler der Seite eine Funktion. An dieser Stelle sind nur die Basisdaten der Funktion zum Binden erforderlich, die Logik für die Funktion kann später codiert werden.
  3. Speichern Sie den JSF-Handler.
  4. Öffnen Sie die zugeordnete JSP-Datei.
  5. Ziehen Sie vom Fach 'Erweiterte Faces-Komponenten' in der Palettenansicht 'Schaltfläche - Befehl' auf die Seite.
  6. Erweitern Sie in der Sicht 'Seitendaten' die Anzeige für die Überschrift 'JSF-Handler'. Die Funktionen und Variablen im JSF-Handler sind hier aufgelistet.
  7. Ziehen Sie die Funktion aus der Sicht 'Seitendaten' direkt auf die Schaltfläche, die Sie zur Seite hinzugefügt haben.

    Die Funktion wird an die Schaltfläche gebunden.

Alternativ können Sie die Funktion in der Sicht 'Schnelle Bearbeitung' codieren, während Sie an der Webseite arbeiten:
  1. Öffnen Sie die JSP-Datei.
  2. Ziehen Sie vom Fach 'Erweiterte Faces-Komponenten' in der Palettenansicht 'Schaltfläche - Befehl' auf die Seite.
  3. Klicken Sie mit der rechten Maustaste und klicken Sie dann auf 'Ereignisse bearbeiten'. Daraufhin wird die Ansicht 'Schnelle Bearbeitung' geöffnet. Diese Sicht ist in der Regel für JavaScript-Code vorgesehen, kann aber auch zum Schreiben von Funktionen im JSF-Handler verwendet werden.
  4. Klicken Sie in der Sicht 'Schnelle Bearbeitung' auf der linken Seite auf 'Befehl'.
  5. Klicken Sie im rechten Bereich der Sicht 'Schnelle Bearbeitung', um den Fokus dorthin festzulegen. In der Sicht wird eine neue EGL-Funktion angezeigt, die sich im JSF-Handler befindet.
  6. Geben Sie die EGL-Anweisungen in der neuen Funktion an. Sie müssen in der Funktion in der Sicht 'Schnelle Bearbeitung' mindestens einen Kommentar hinzufügen. Wenn Sie den Code in der Funktion nicht ändern, wird im Editor angenommen, dass die Funktion nicht benötigt wird, und sie wird entfernt.

Beschränkungen

Befehlselemente auf der Seite können nur an Funktionen im JSF-Handler gebunden werden, nicht an Funktionen in anderen Logikabschnitten wie Bibliotheken. Es können außerdem nur Funktionen ohne Parameter gebunden werden. Wenn zum Ausführen der Funktion eine Eingabe erforderlich ist, erstellen Sie im JSF-Handler eine Variable und binden Sie sie an ein Eingabesteuerelement auf der Seite. Danach können Sie diese Variable bei einem Funktionsaufruf als Parameter verwenden.

Lesen Sie auch das Kapitel Ein Steuerelement auf einer Webseite an eine Variable binden, um weitere Informationen zu einer Beschränkung bei der Position von Schaltflächen und Steuerelementen in <form>-Tags zu erhalten.


Feedback