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?
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:
Für a4j jsf verwenden Sie ',': <a4j:support event="onchange" reRender="parent,child1,child2" />