title: Rerendered components don't work properly
body: <p>I am creating a view in JSF where after executing some action with <code>a4j:commandButton</code> some elements are rerendered. For example I click on a button which invokes a backing bean method such as executeProcess (this adds a process to a list), and when it finishes updates a data table (shows the available processes). The data table also has some other buttons to execute specific actions over every process, but when I press one of this the page seems to reload entirely without invoking the action, then if I press the same button again it works. What is happening?</p>
  
  <p>Component List an execute:</p>
  
  <pre><code>&lt;div class="line_left" style="float:right"&gt;
      &lt;a4j:outputPanel id="execProcessPanel" layout="block"
          ajaxRendered="true"&gt;
  
          &lt;ui:fragment rendered="#{tapeTapeForm.size &gt; 0}"&gt;
  
              &lt;h:form id="executeProcess"&gt;
                  &lt;h:outputText value="Ejecuta Proceso" /&gt;
                  &lt;br /&gt;
  
                  &lt;h:outputLabel id="inputFilesLabel" for="inputFile" value="Archivo" /&gt;
                  &lt;h:selectOneListbox id="inputFile" size="5" required="true"
                      requiredMessage="Debes seleccionar un archivo"
                      value="#{tapeTapeForm.inputFile}"&gt;
                      &lt;f:selectItems value="#{tapeTapeForm.inputFiles}" var="file"
                          itemLabel="#{file}" itemValue="#{file}" /&gt;
                  &lt;/h:selectOneListbox&gt;
                  &lt;br /&gt;
  
                  &lt;h:message for="inputFile" errorClass="" /&gt;
                  &lt;br /&gt;
  
                  &lt;a4j:commandButton value="Ejecutar" styleClass="button"
                      action="#{tapeTapeForm.executeProcess}"
                      render="resultListPanel execProcessPanel messages"
                      limitRender="true"&gt;
                      &lt;f:setPropertyActionListener value="0"
                          target="#{tapeTapeForm.tipoProceso}"  /&gt;
                  &lt;/a4j:commandButton&gt;
                  &lt;a4j:commandButton value="Revisión" styleClass="button"
                      action="#{tapeTapeForm.executeProcess}"
                      render="resultListPanel execProcessPanel messages"
                      limitRender="true"&gt;
                      &lt;f:setPropertyActionListener value="1"
                          target="#{tapeTapeForm.tipoProceso}" /&gt;
                  &lt;/a4j:commandButton&gt;
              &lt;/h:form&gt;
  
          &lt;/ui:fragment&gt;
      &lt;/a4j:outputPanel&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Component Data Table:</p>
  
  <pre><code>&lt;a4j:outputPanel id="resultListPanel" layout="block"
      ajaxRendered="true"&gt;
      &lt;h2&gt;
          &lt;h:outputText value="Listado de Procesos Tape to Tape" /&gt;
      &lt;/h2&gt;
  
      &lt;rich:dataTable id="resultList" var="item" rows="0"
          value="#{tapeTapeForm.processes}" noDataLabel="Sin Procesos"&gt;
          &lt;rich:column sortable="true" sortBy="#{item.id}"&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="ID" /&gt;
              &lt;/f:facet&gt;
              &lt;center&gt;
                  &lt;h:outputText value="#{item.id}" /&gt;
              &lt;/center&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Nombre Archivo" /&gt;
              &lt;/f:facet&gt;
              &lt;center&gt;
                  &lt;h:outputText value="#{item.inputFileName}" /&gt;
              &lt;/center&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Archivo Salida" /&gt;
              &lt;/f:facet&gt;
              &lt;center&gt;
                  &lt;h:outputText value="#{item.outputFileName}"
                      title="Clic para descargar el archivo de salida" /&gt;
              &lt;/center&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Tipo Proceso" /&gt;
              &lt;/f:facet&gt;
              &lt;center&gt;
                  &lt;h:outputText value="Reporte"
                      title="Este proceso generará un reporte"
                      rendered="#{item.tipoProceso == 0}" /&gt;
                  &lt;h:outputText value="Revisión"
                      title="Se realizará una revisión del archivo"
                      rendered="#{item.tipoProceso == 1}" /&gt;
              &lt;/center&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Estatus" /&gt;
              &lt;/f:facet&gt;
              &lt;center&gt;
                  &lt;h:outputText value="#{item.status.description}"
                      title="#{item.status.detail}" /&gt;
              &lt;/center&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Progreso" /&gt;
              &lt;/f:facet&gt;
              &lt;rich:progressBar value="#{item.avance}" minValue="0"
                  enabled="false" rendered="#{item.status.id == 3}"
                  maxValue="#{item.total}" label="#{item.avance} / #{item.total}" /&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Detener" /&gt;
              &lt;/f:facet&gt;
              &lt;h:form rendered="#{item.status.id == 2 or item.status.id==3}"&gt;
                  &lt;h:commandLink action="#{tapeTapeForm.stopProcess}" value="STOP"
                      onclick="#{rich:component('ajaxLoadingModalBox')}.show()"&gt;
                      &lt;f:setPropertyActionListener target="#{tapeTapeForm.id}"
                          value="#{item.id}" /&gt;
                  &lt;/h:commandLink&gt;
              &lt;/h:form&gt;
          &lt;/rich:column&gt;
  
          &lt;rich:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Eliminar" /&gt;
              &lt;/f:facet&gt;
              &lt;h:form rendered="#{item.status.id !=2 and item.status.id != 3}"&gt;
                  &lt;h:commandLink action="#{tapeTapeForm.removeProcess}"
                      value="ELIMINAR"&gt;
                      &lt;f:setPropertyActionListener target="#{tapeTapeForm.id}"
                          value="#{item.id}" /&gt;
                  &lt;/h:commandLink&gt;
              &lt;/h:form&gt;
          &lt;/rich:column&gt;
  
      &lt;/rich:dataTable&gt;
  &lt;/a4j:outputPanel&gt;
  </code></pre>
  
  <p>I'm using RichFaces 4.2.2 </p>