1 つのフォームからポップアップを呼び出しています。そのポップアップには別のフォームがあります。ポップアップが表示されますが、ポップアップ内に選択ボックスがあり、期待どおりに機能していません。選択ボックスの値がバッキング Bean から動的に入力される場合、値変更イベントはそれらの値に対して呼び出されません。このイベントは、ハードコードされた に対してのみ呼び出され<selectItem />
ます。以下のサンプル コードを参照してください。そのため、itemLabel="1"
メソッドのみが呼び出されます。itemLabel="2"
fBean.onChange
ライフサイクル フェーズは、動的な選択項目の値の変更については完了していません。最初のフェーズは次のとおりです。
開始フェーズ RESTORE_VIEW 1 終了
フェーズ RESTORE_VIEW 1
開始フェーズ RENDER_RESPONSE 6
終了フェーズ RENDER_RESPONSE 6
次回以降は、次のフェーズも途中に追加
さ
れ
ます
。
試してみ<a4j:log />, <h:messages />
て、http の投稿を調べましたが、なぜこれが起こっているのかわかりません。どんな助けにも感謝します。ありがとう
<h:form id="aForm">
<a4j:outputPanel>
<a4j:commandLink value="show" actionListener="#{aBean.onClick}"
limitRender="true" render=":fForm"
oncomplete="#rich:component('fModalPanel')}.show();"/>
</a4j:outputPanel>
</h:form>
<ui:include src="fPopup.xhtml"/>
<!-- Contents of fPopup.xhtml -->
<rich:popupPanel id="fModalPanel" ...>
<h:form id="fForm">
<h:selectOneMenu value="#{fBean.selected}">
<f:selectItems value="#{fBean.selectItems"/>
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2" />
<a4j:ajax event="valueChange"
execute="@this" render="fSubPnl"
limitRender="true"
listener="#{fBean.onChange}"/>
</h:selectOneMenu>
<rich:panel id="fSubPnl">
<h:outputText value="#{fBean.selected}" />
</rich:panel>
</h:form>
</rich:popupPanel>