Balusc の inputDate コンポーネントをテストしました: PrimeFaces ダイアログ内に複数の入力フィールドを持つ複合コンポーネント。encodeAll
メソッドはまったく呼び出されず、選択ボックスは初期化されません。複合コンポーネントは、記事に示されているようにフォームに配置すると正常に動作します。
encodeAll
ダイアログ内で機能しないのはなぜですか?どうすれば修正できますか?
編集1
Mojarra 2.1.13 と PrimeFaces 3.4.2 を使用しています。
EDIT 2 これは私の実際のプロジェクトのサンプルです。あなたのコンポーネントを使用して、複合コンポーネントについて学びました。データテーブルとツールバーを備えたビュー アカウントがあります。[追加] を押すと、カスタム ウィザードのダイアログが開きます。ダイアログには独自のフォームがありますが、ウィザードは表示されません。
accounts.xhtml
<h:form id="form">
<ui:include src="/WEB-INF/flows/accounts/accountsTable.xhtml" />
</h:form>
<ui:include src="/WEB-INF/flows/accounts/mainDialog4.xhtml" />
accountsTable.xhtml
<p:dataTable id="accounts" ... />
<p:toolbar>
<p:toolbarGroup align="left">
<p:commandButton value="Add"
action="#{accountsBean.initializeEntity}"
process="@this" update=":actionsDialog4"
oncomplete="actionsDialogWidget4.show()">
<f:setPropertyActionListener value="#{2}"
target="#{accountsBean.operation}" />
<f:setPropertyActionListener value="accountsBean"
target="#{sessionScope.beanName}" />
</p:commandButton>
</p:toolbarGroup>
</p:toolbar>
mainDialog4.xhtml
<p:dialog id="actionsDialog4" widgetVar="actionsDialogWidget4" dynamic="true"
modal="true">
<h:form>
<costom:actionWizard name="wizard" widgetVar="wiz" bean="#{accountsBean}" header="#{accountsBean.entityHeader}" />
</h:form>
</p:dialog>