a4j: include rich: dataTable wirkt sich negativ auf a4j: commandButton aus

Ich habe ein JSF / RichFaces-Setup mit einemindex.jsp welchea4j:includes ein weiterer Code, der a enthältrich:dataTable.

Es wird zunächst gut gerendert und ein Element auf der Seite ausgewähltindex.jspDropdown-Liste von und klicken Sie auf "Abrufen".a4j:commandButton verwendet die Backing BeanssetChosen Methode zu tun, es ist auf dem Back-End-Gebot. Das Backing Bean aktualisiert Klassenmitglieder, deren Getter dann von den Modellleseelementen in einer separaten Datei aufgerufen werdencontent.jsp welches ista4j:included. Mein aktualisiertes tabPanel wird angezeigt.

Ich kann die Ausgabe in der Eclipse-Konsole sehen. Aber wenn ich erneut auf den Knopf drücke, passiert nichts. Nichts im Tomcat 6.0-Protokoll und nichts auf der Konsole.

EDIT1 Eingrenzen des Problems auf meinecontent.jsp Datei und nicht die oben genanntenindex.jsp Code, ich habe festgestellt, dass einrich:dataTable Element ist das Problem. Wenn ich gerade dieses Element aus demcontent.jspIch kann immer wieder auf die Schaltfläche "Abrufen" klicken und meine Registerkarte wird neu geladen. Sobald ich es eingegeben habe, ist der erste Klick in Ordnung, und dann klickt die Schaltfläche, aber es tritt nichts auf und die Schaltfläche wird nicht wieder entfernt.

Die Methode, die das bereitstelltrich:dataTable with data sollte nicht verdächtig sein, da es zumindest beim ersten Mal funktioniert, sondern nur einige xpath-Routinen ausführt und a zurückgibtArrayList<MyDataList>.

Kann mir jetzt jemand vorschlagen, wie man es benutzt?rich:dataTable damit es keine probleme macht? Das Element befindet sich in einemrich:tabPanel das ist in einemh:form aber das ist alles.

Vielen Dank

EDIT2: In Reaktion auf eine kommentierte Anfrage unten ist die vollständige Auflistung des betroffenen Codes so kurz wie möglich, um das Problem zu reproduzieren. @Damo, bitte beachten Sie diea4j:commandButton undrich:dataTable befinden sich in verschiedenen Dateien, wie letztere in der JSP-Datei, die ista4j:included. Beachten Sie auch die<%@ taglib uri=... Verweise wurden aus beiden Dateien entfernt.

index.jsp:

<f:loadBundle basename="messages" var="msg" />

<f:view>
    <rich:page pageTitle="MyTitle" markupType="xhtml">
    <h:outputText id="setup" value="#{MyBacking.setup}" />
        <rich:toolBar height="35" itemSeparator="line">
            <rich:toolBarGroup location="left">
                <a4j:form>
                    <a4j:outputPanel id="panel">
                        <h:outputText style="text-align: center" value="Select " />
                        <h:selectOneMenu id="nodes" value="#{MyBacking.chosen}">
                            <f:selectItems value="#{MyBacking.nodes}" />
                        </h:selectOneMenu>
                        <a4j:commandButton value="Retrieve"
                            reRender="panel,contentPanel,currNode,lastOp"
                            onclick="this.disabled=true" oncomplete="this.disabled=false" />
                    </a4j:outputPanel>
                </a4j:form>
            </rich:toolBarGroup>
        </rich:toolBar>

        <rich:panel>
            <h:panelGroup layout="block" id="contentPanel">
                <a4j:include viewId="#{MyBacking.viewId}">
                    <f:param name="targetIdParam" value="content" />
                </a4j:include>
            </h:panelGroup>
        </rich:panel>
    </rich:page>
</f:view>

a4j:included content.jsp:

<h:form id="myConfig">
    <rich:tabPanel switchType="client" rendered="true">
        <rich:tab styleClass="tab" label="Connections">
            <rich:dataTable onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
                onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
                cellpadding="0" cellspacing="0" width="100%" border="0" var="item"
                value="#{MyBacking.DataList}">
                <rich:column style="text-align:center" width="150px">
                    <h:outputText styleClass="txtBold"
                        value="#{item.info}:#{item.other}" />
                </rich:column>
            </rich:dataTable>
        </rich:tab>
    </rich:tabPanel>
</h:form>

Vielen Dank, dass Sie sich das angesehen haben.

EDIT3 Wie gewünscht habe ich versucht das einzukapselna4j:include innerhalb einesh:form. Damit der enthaltene Inhalt das Verschachteln eines h: -Formulars vermeidet, habe ich das Beiliegende ersetzth:form tag incontent.jsp mit einemh:panelGrid. Wenn ich das nochmal mache, klicke ich das zweite Mal aufa4j:commandButton verursachte immer noch einen Hang, aber ich überprüfte mit firebug und aPOST http://localhost:8888/index.jsf 200 13ms aufgetreten, aber die Antwort war leer. Hilft das?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage