Richfaces 3.3 を使用して JSF 1.2 アプリケーションに取り組んでいます。を含むポップアップがありますrich:extendedDataTable
。テーブルの行をクリックすると、ボタンを有効または無効にしたいので、a4j:support event="onRowClick"
.
ここにいくつかのコードがあります:
<h:form>
<rich:panel id="main">
<a4j:commandButton id="completed" value="Completed"
rendered="#{bean.completedCase}" />
<a4j:commandButton value="Open"
oncomplete="#{rich:component('popupId')}.show(...)">
</a4j:commandButton>
<rich:modalPanel id="popupId">
<a4j:region>
<rich:extendedDataTable id="source" value="#{bean.sourceItems}"
var="sourceItem" selectionMode="single" >
<a4j:support event="onRowClick" eventsQueue="pickQueue" reRender="copy" >
<f:setPropertyActionListener value="#{sourceItem}"
target="#{bean.sourceSelection}" />
</a4j:support>
....
</rich:extendedDataTable>
<a4j:commandButton id="copy" value="Copy" />
</a4j:region>
<a4j:commandButton value="Ok" reRender="completed"
oncomplete="#{rich:component('popupId')}.hide();return false;">
</a4j:commandButton>
</rich:modalPanel>
</rich:panel>
</h:form>
問題は、行をクリックすると、バックエンドでボタンをレンダリングするために使用されるいくつかのメソッドが呼び出されることですrendered="#{bean.completedCase}"
が、ボタンはポップアップではなく、ポップアップを超えたページにあります。テーブルに使用されるメソッド以外のメソッドが呼び出される理由は何ですか?