Les mauvais codes sont:
<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>
Ce que je veux faire, c’est que lorsque je clique sur la commandButton
, je veux actualiser ces deux graphiques. Mais maintenant, j'ai utilisé deux balises <ajax>
, dont la seconde ne fonctionne pas.
Alors, comment puis-je utiliser ajax pour rendre deux graphiques?
Vous pouvez rendre plusieurs composants avec un seul f:ajax
. Assurez-vous simplement que tous les composants individuels que vous souhaitez mettre à jour ont une id
. Dans votre échantillon, ce serait quelque chose comme:
<f:ajax execute="search_form" render="linear1 linear2"/>
Où les identifiants doivent être séparés par des espaces tels que linear1 linear2
et non pas comme des virgules, comme linear1, linear2
(cela ne fonctionne que dans p:ajax
).
Voir également:
Pour a4j jsf, utilisez ',': <a4j:support event="onchange" reRender="parent,child1,child2" />