JBoss.org Community Documentation

- Prev
- Next

## 6.1. < a4j:ajaxListener >

### 6.1.1. Description

The <a4j:ajaxListener> component is the same one as <f:actionListener> or <f:valueChangeListener> , but for an Ajax container.

Table 6.1. a4j : ajaxListener attributes

Attribute Name | Description
--- | ---
type | Fully qualified Java class name of an AjaxListener to be created and registered.

Table 6.2. Component identification parameters

Name | Value
--- | ---
listener-class | org.ajax4jsf.framework.ajax.AjaxListener
event-class | org.ajax4jsf.framework.ajax.AjaxEvent
tag-class | org.ajax4jsf.taglib.html.jsp.AjaxListenerTag

### 6.1.2. Creating on a page

To create the simplest variant on a page use the following syntax:

Example:

    ...

        <a4j:ajaxListener type="demo.Bean"/>

    ...

### 6.1.3. Creating the Component Dynamically Using Java

Example:

    package demo;

    public class ImplBean implements import org.ajax4jsf.component.html.AjaxListener{

        ...

    }

    import demo.ImplBean;

    ...

    ImplBean myListener = new ImplBean();

    ...

### 6.1.4. Key attributes and ways of usage

Additional to the listeners provided by JSF specification, RichFaces add one more: ajax Listener ( <a4j:ajaxListener> ). Ajax Listener is invoked before the Render Response phase. Instead of <f:actionListener> of <f:valueChangeListener> which are not invoked when Validation of Update Model phases failed, ajax Listener is guarantied to be invoked for each Ajax response. Thus, it is a good place for update the list of re-rendered components, for example. Ajax Listener is not invoked for non-Ajax request and when RichFaces works in "Ajax Request generates Non-Ajax Response" mode. Therefore, ajax Listener invocation is a good indicator that Ajax response is going to be processed. Attribute "type" described in the following chapter. It defines the fully qualified Java class name for listener. This class implements `org.ajax4jsf.framework.ajax.ajaxListener` interface. You can access to the source of the event (Ajax component) using `event.getSource()` call.

Example:

    ...

        <a4j:commandLink id="cLink" value="Click it To Send Ajax Request">

            <a4j:ajaxListener type="demo.Bean"/>

        </a4j:commandLink>

    ...

Example:

    package demo;

    import org.ajax4jsf.framework.ajax.AjaxEvent;

    public class Bean implements org.ajax4jsf.framework.ajax.AjaxListener{

    ...

        public void processAjax(AjaxEvent arg0){

            //Custom Developer Code

        }

    ...

    }

### 6.1.5. Relevant resources links

Some additional information about usage of component can be found here.

More information about <f:valueChangeListener> can be found here.

- PrevChapter 6. The RichFaces Components
- Top of page
- Front page
- Next6.2. < a4j:keepAlive >