JSF 2 actionListener-Beispiel

JSF 2 actionListener Beispiel

In JSF werden "Action Events" durch Klicken auf eine Schaltfläche oder eine Linkkomponente ausgelöst, z. B.h:commandButton oderh:commandLink.

actions vs action listeners
Verwechseln Sie diese beiden Tags nicht.actions wird zur Ausführung der Geschäftslogik und der Navigationsaufgabe verwendet. Währendaction listeners verwendet werden, um eine UI-Schnittstellenlogik oder eine Aktion auszuführen, rufen Sie die Beobachtung auf.

Der allgemeine Anwendungsfall dieses Aktionslisteners wird verwendet, um den Attributwert zurückzugewinnen, der an eine Komponente angehängt ist (sieheJSF 2 f:attribute example).

Es gibt zwei Möglichkeiten, dies zu implementieren:

1. Methodenbindung

In der Schaltflächen- oder Verknüpfungskomponente können Sie die Methode einer Bean direkt im Attribut "actionListener" angeben.

JSF-Seite…





    

    

JSF 2 actionListener example

Managed Bean…
Die Methode, die mit dem Aktionsereignis interagiert, sollte einenActionEvent-Parameter akzeptieren.

package com.example;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

@ManagedBean(name="normal")
@SessionScoped
public class NormalBean{

    public String buttonId;

    public void printIt(ActionEvent event){

        //Get submit button id
        buttonId = event.getComponent().getClientId();

    }

    public String outcome(){
        return "result";
    }
}

2. ActionListener

Fügen Sie in der Schaltflächen- oder Verknüpfungskomponente ein "f:actionListener" -Tag hinzu, geben Sie eine Implementierungsklasse derActionListener-Schnittstelle an und überschreiben Sie derenprocessAction().

JSF-Seite…





    

    

JSF 2 actionListener example

Implementierung der ActionListener-Schnittstelle

package com.example;

import javax.faces.event.AbortProcessingException;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;

public class NormalActionListener implements ActionListener{

    @Override
    public void processAction(ActionEvent event)
        throws AbortProcessingException {

        System.out.println("Any use case here?");

    }

}

Quellcode herunterladen

Laden Sie es herunter -JSF-2-ActionListener-Example.zip (10 KB)