title: Jsf2 listener not called with f:ajax
body: <p>I'm using jsf2 and richfaces 4.</p>
  
  <p>Here is my home.xhtml</p>
  
  <pre><code>&lt;!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  
  &lt;html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"      
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich"&gt;
  
  &lt;h:head&gt;
      &lt;title&gt;My Web Application&lt;/title&gt;
      &lt;link rel="stylesheet" href="resources/stylesheet/style.css" /&gt;
  &lt;/h:head&gt;
  
  &lt;h:body&gt;
  
      &lt;h:panelGrid columns="2"&gt;
  
          &lt;h:form&gt;
  
              &lt;rich:panel&gt;
  
                  &lt;f:facet name="header"&gt;
                      Statut
                      &lt;div class="status_refresh" style="float:right;"&gt;
                          &lt;h:graphicImage styleClass="loading" value="resources/stylesheet/images/refresh.png"&gt;
                              &lt;f:ajax execute="@form" event="click" listener="#{statusBean.refresh}" render="station_status station_action"/&gt;
                          &lt;/h:graphicImage&gt;
                      &lt;/div&gt;
                  &lt;/f:facet&gt;
  
                  &lt;h:panelGroup id="station_status" style="display:inline-block;" class="#{statusBean.stationTableStatus?'status_ok':'status_not_ok'}"&gt;
                      &lt;a4j:outputPanel&gt;
                          &lt;rich:tooltip rendered="#{statusBean.stationTableStatus != true}"&gt;
                              &lt;h:outputText value="#{statusBean.stationTableStatusMessage}" /&gt;
                          &lt;/rich:tooltip&gt;
                          &lt;h:outputText value="Table " /&gt;
                          &lt;b&gt;&lt;h:outputText style="margin-right:10px;" value="Station" /&gt;&lt;/b&gt;
                      &lt;/a4j:outputPanel&gt;
                  &lt;/h:panelGroup&gt;
                  &lt;h:panelGroup id="station_action" rendered="#{statusBean.stationTableStatus != true}"&gt;
                      &lt;a4j:status&gt;
                          &lt;f:facet name="start"&gt;
                              &lt;div class="loading_container"&gt;
                                  &lt;h:graphicImage styleClass="loading" value="resources/stylesheet/images/waiting.gif" alt="Please wait ..." /&gt;
                              &lt;/div&gt;
                          &lt;/f:facet&gt;
                          &lt;f:facet name="stop"&gt;
                              &lt;h:commandButton type="button" value="Créer la table"&gt;
                                  &lt;a4j:ajax execute="@form" listener="#{statusBean.createStationTable}" render="station_status,station_action"/&gt;
                              &lt;/h:commandButton&gt;
                          &lt;/f:facet&gt;
                      &lt;/a4j:status&gt;                       
                  &lt;/h:panelGroup&gt;
  
              &lt;/rich:panel&gt;
  
          &lt;/h:form&gt;
  
      &lt;/h:panelGrid&gt;
  
  &lt;/h:body&gt;
  
  &lt;/html&gt;
  </code></pre>
  
  <p>In by backing bean, I have:</p>
  
  <pre><code>public void createStationTable()
  {
  ....
  }
  </code></pre>
  
  <p>and </p>
  
  <pre><code>public void refresh()
  {
      System.out.println("******* start refresh() ************");
  }
  </code></pre>
  
  <p>And I don't understand why the listener of my button is called but not the one of my image.</p>
  
  <p>I also tried with </p>
  
  <pre><code>public void refresh(ActionEvent actionEvent)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>public void refresh(AjaxBehaviorEvent e)
  </code></pre>
  
  <p>but none are working.</p>
  
  <p>I also tried with both f:ajax and a4j:ajax. The same result.</p>