jsf的监听器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<h:form id="form">
<h:panelGrid columns="3">
<h:commandButton value="Invoke listener method">
<a4j:actionListener listener="#{actionListenerBean.handleActionMethod}"/>
<f:ajax render="messages"/>
</h:commandButton>
</h:panelGrid>
<fieldset>
<legend>Messages</legend>
<h:messages id="messages"/>
</fieldset>
</h:form>
</ui:composition>
后台bean
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.richfaces.demo.actionListener;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionListener;
/**
*
* @author dell
*/
@Named(value = "actionListenerBean")
@RequestScoped
public class ActionListenerBean {
private ActionListener actionListener;
/**
* Creates a new instance of ActionListenerBean
*/
public ActionListenerBean() {
}
public void handleActionMethod(javax.faces.event.ActionEvent event)
{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Welcome, "));
}
public ActionListener getActionListener() {
return actionListener;
}
public void setActionListener(ActionListener actionListener) {
this.actionListener = actionListener;
}
}