在jsf中多次使用Ajax Call方法

时间:2013-03-12 06:14:45

标签: jsf-2 primefaces

我有一个在<p:selectOneButton/>上使用Ajax的Composit组件,当Ajax调用actionListener <p:commandButton/>时,它调用了10次然后运行该方法。我认为问题是由<p:dataGrid/>导致的,因为当我将<p:commandButtton/><p:dataGrid/>访问权限中删除时,它会正常工作,但是当我在<p:dataGrid/>中使用它时,Ajax调用{{1}不止一次。

这是.xhtml:

actionListener

我该如何解决这个问题?

感谢。

1 个答案:

答案 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展示中看到更多:

Partial submit

Partial process

相关问题