Пример JSF 2 actionListener
В JSF «Action Events» запускается нажатием кнопки или компонента ссылки, напримерh:commandButton илиh:commandLink.
actions vs action listeners
Не путайте эти два тега,actions используется для выполнения бизнес-логики и задач навигации; В то время какaction listeners используются для выполнения логики интерфейса пользовательского интерфейса или наблюдения за действием.
Обычный вариант использования этого прослушивателя действий используется для возврата значения атрибута, прикрепленного к компоненту, см. ЭтотJSF 2 f:attribute example.
Вот два способа реализовать это:
1. Привязка метода
В компоненте кнопки или ссылки вы можете указать метод компонента непосредственно в атрибуте «actionListener».
Страница JSF…
JSF 2 actionListener example
Managed Bean…
Метод, который взаимодействует с событием действия, должен принимать параметрActionEvent.
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:actionListener», укажите класс реализации интерфейсаActionListener и переопределите егоprocessAction().
Страница JSF…
JSF 2 actionListener example
Реализация интерфейса ActionListener
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?");
}
}
Скачать исходный код
Скачать -JSF-2-ActionListener-Example.zip (10 КБ)