我有一个在<p:selectOneButton/>
上使用Ajax的Composit组件,当Ajax调用actionListener
<p:commandButton/>
时,它调用了10次然后运行该方法。我认为问题是由<p:dataGrid/>
导致的,因为当我将<p:commandButtton/>
从<p:dataGrid/>
访问权限中删除时,它会正常工作,但是当我在<p:dataGrid/>
中使用它时,Ajax调用{{1}不止一次。
这是.xhtml:
actionListener
我该如何解决这个问题?
感谢。
答案 0 :(得分:2)
我认为您可以在ajax请求中使用选项partialSubmit和process来处理必要的信息,如下所示:
<p:selectOneButton value="#{inviteRequestManagedBean.filterType}">
<f:selectItem itemLabel="#{inviteRequest_msg.request}" itemValue="request" />
<f:selectItem itemLabel="#{inviteRequest_msg.archive}" itemValue="archive" />
<f:ajax event="change" render="requestDataGrid" partialSubmit="true" process="@this" />
</p:selectOneButton>
如果这解决了你的问题,你可以在primefaces展示中看到更多: