使用f:ajax渲染多个组件

前端之家收集整理的这篇文章主要介绍了使用f:ajax渲染多个组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
错误代码是:
<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>

我想做的是当我点击commandButton,我想刷新这两个图表。但是现在我使用了两个< ajax>标签,其中第二个不起作用。

那么如何使用ajax来渲染两个图表?

您可以使用单个f:ajax渲染多个组件。只需确保要更新的所有单个组件都有一个ID。在你的样品中,它将像:
<f:ajax execute="search_form" render="linear1 linear2"/>

其中ID需要通过像linear1 linear2这样的空格分隔,而不是像linear1,linear2(只在p:ajax中有效)。

也可以看看:

> Understanding process and update attributes of PrimeFaces
> How to find out client ID of component for ajax update/render? Cannot find component with expression “foo” referenced from “bar”

猜你在找的Ajax相关文章