Ajax on を使用する複合コンポーネントがあります.Ajaxが on<p:selectOneButton/>
を呼び出すと、actionListener
on<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>
この問題を解決するにはどうすればよいですか?
ありがとう。