Richfaces: a4j Unterstützung (action, actionListener) für eine inputText innerhalb einer dataTable

Ich habe eine JSP Seite, in der der Benutzer sein muss, erlaubt das Bearbeiten von Daten aus einer Spalte und, wenn das Formular übermittelt wird, aktualisieren Sie die entsprechende Tabelle in der Datenbank. Anzahl der Zeilen aus dieser Tabelle ist variabel.

Für das editierbare Feld "info" habe ich den folgenden code-snippet (nennen wir es Block Ein) in einer JSP-Seite:

  <h:inputText value="#{myBackingBean.theFieldValue}" >
    <a4j:support event="onchange" actionListener="#{myBackingBean.theActionListener}" action="#{myBackingBean.theAction}"/>
  </h:inputText>

Den folgenden code-snippet (nennen wir es Block B) ist von der backing-bean:

public String theAction() {
    String outcome = null;
    System.out.println("the action method was invoked");
    return outcome;
}

public void theActionListener(ActionEvent actionEvent) {
    System.out.println("the action listener method was invoked");
}

Wie Sie sehen können, Wann diese Methoden aufgerufen werden, die gedruckt wird, um die Ausgabe in der Konsole.

Mein problem ist:
Wenn ich Block Ein in den folgenden block (eine single inputText-Komponente in das Formular):

<h:form id="myForm">
  (...)
    here I put Block A
  (...)
</h:form>

Den Block B ist aufgerufen, ohne problem. Aber, wenn ich stattdessen setzen die Block Ein innerhalb eines rich:dataTable-Komponente, wie ich es brauche (mehrere inputText-Komponenten in der form) um zu speichern, jede Zeile inputText Wert in einer Datenbank (hier ist, wo ich brauche, um invoke-Aktion und/oder actionListener-Methoden):

<h:form id="myForm">
  <rich:dataTable id="myDataTable" value="#{myBackingBean.myObjectList}" var="item" binding="#{myBackingBean.myObjectHtmlDataTable}" rendered="#{!empty myBackingBean.myObjectList}" rows="20">
    (...)
      <rich:column>
          here I put Block A
      </rich:column>
    (...)
  </rich:dataTable>
</h:form>

in diesem Fall, die Block B nie erreicht.

Arbeite ich mit JSF 1.2, und RichFaces 3.3.3, alle benötigten Bohnen und navigation Regeln richtig konfiguriert sind. Alle benötigten Getter und setter sind in Ihren jeweiligen Klassen.

Bitte könnten Sie mir einige Ratschläge geben, um meinen code zu arbeiten, richtig? Vielen Dank im Voraus.

Schreibe einen Kommentar