错误的代码是:
<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
)。
另见: