3

Ajax on を使用する複合コンポーネントがあります.Ajaxが on<p:selectOneButton/>を呼び出すと、actionListeneron<p:commandButton/>が10回呼び出されてからメソッドが実行されます。問題の原因は、アクセスできないようにすると正常に動作するのに、Ajax 呼び出しで複数回使用した<p:dataGrid/>ためだと思います。<p:commandButtton/><p:dataGrid/><p:dataGrid/>actionListener

.xhtml は次のとおりです。

<table style="width: 100%">
    <tr>
        <td><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" />
            </p:selectOneButton></td>
    </tr>
    <tr>
        <td><p:dataGrid id="requestDataGrid" var="tBusinessPartnerRequestInfo" value="#{inviteRequestManagedBean.filterBusinessRequest()}" columns="1"
                rows="2">
                <p:column>
                    <div>
                        <table border="0" width="100%">
                            <tr>
                                <td><p:graphicImage value="#{tBusinessPartnerRequestInfo.partySender_imageUrl}" /></td>
                                <td>
                                    <div>
                                        <table border="0" width="100%">
                                            <tr>
                                                <td><h:outputLabel value="#{tBusinessPartnerRequestInfo.requestDate}" /></td>
                                            </tr>
                                            <tr>
                                                <td><h:outputLabel value="#{tBusinessPartnerReques`enter code here`tInfo.partySender_fullName}" /></td>
                                            </tr>
                                        </table>
                                    </div>
                                </td>
                                <td><p:commandButton id="acceptCommonButton" value="#{inviteRequest_msg.accept}" process="@this"
                                        actionListener="#{inviteRequestManagedBean.acceptRequest(tBusinessPartnerRequestInfo.id)}">
                                    </p:commandButton></td>
                                <td><p:commandButton id="noNowCommonButton" value="#{inviteRequest_msg.notnow}"
                                        actionListener="#{inviteRequestManagedBean.notNowRequest(tBusinessPartnerRequestInfo.id)}">
                                    </p:commandButton></td>
                            </tr>
                        </table>
                    </div>
                    <hr />
                </p:column>
            </p:dataGrid> <p:panel>


            </p:panel></td>
    </tr>
</table>

この問題を解決するにはどうすればよいですか?

ありがとう。

4

1 に答える 1