wake-up-neo.com

Rendern Sie mehrere Komponenten mit f: ajax

Die falschen Codes sind:

<h:form id="search_form">
<h:commandButton class="button" value="View" action="#{InfoBean.search}">
    <f:ajax execute="search_form" render="linear1"></f:ajax>
    <f:ajax execute="search_form" render="linear2"></f:ajax>
</h:commandButton>
<p:lineChart id="linear1" value="#{InfoBean.linearModel1}" legendPosition="e"/>
<p:lineChart id="linear2" value="#{InfoBean.linearModel2}" legendPosition="e"/>
</h:form>

Was ich tun möchte ist, wenn ich auf commandButton klicke, möchte ich diese beiden Diagramme aktualisieren. Aber jetzt habe ich zwei <ajax>-Tags verwendet, von denen der zweite nicht funktioniert.

Wie kann ich dann mit ajax zwei Diagramme rendern?

24
Cacheing

Sie können mehrere Komponenten mit einem einzelnen f:ajax rendern. Stellen Sie einfach sicher, dass alle einzelnen Komponenten, die Sie aktualisieren möchten, eine id haben. In Ihrem Beispiel würde es so aussehen:

<f:ajax execute="search_form" render="linear1 linear2"/>

Wo die IDs durch Leerzeichen wie linear1 linear2 getrennt werden müssen und nicht wie linear1, linear2 durch Kommas getrennt werden sollen (funktioniert nur in p:ajax).

Siehe auch:

49
partlov

Für a4j jsf verwenden Sie ',': <a4j:support event="onchange" reRender="parent,child1,child2" />

0
Chinmoy