Le rendu de plusieurs composants avec f:ajax
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 quand je clique sur le commandButton
, je veux actualiser ces deux graphiques. Mais maintenant j'ai utilisé deux étiquettes <ajax>
, dont la seconde ne fonctionne pas.
alors comment puis-je utiliser ajax pour rendre deux graphiques?
2 réponses
vous pouvez rendre plusieurs composants avec un seul f:ajax
. Assurez-vous juste que tous les composants individuels que vous voulez mettre à jour ont un id
. Dans votre échantillon ce serait quelque chose comme:
<f:ajax execute="search_form" render="linear1 linear2"/>
où les IDs doivent être séparés par juste des espaces comme linear1 linear2
et non pas séparés comme linear1, linear2
(qui ne fonctionne que dans p:ajax
).
Voir aussi:
pour l'usage a4j jsf",":
<a4j:support event="onchange" reRender="parent,child1,child2" />