JSFで非常に単純なタスクを実行するのに大きな問題があります。問題: オブジェクトごとにタイプが異なる可能性のある集約されたプロパティを持つオブジェクトがあります。プロパティのタイプに応じて、異なる入力フィールドのセットを使用したいと考えています。
サブタイプ コンポーネントはフレームワークに存在し、オンデマンドで読み込まれます。このために、次のコードを使用します。
<h:panelGroup id="zusatzdaten">
<fieldset class="clear">
<legend>#{tickerUI.ticker.tickerDescription.label}
(#{tickerUI.ticker.tickerDescId})
</legend>
<h:panelGroup rendered="#{tickerUI.editComponentName != null}">
<ui:include src="#{tickerUI.editComponentName}"/>
</h:panelGroup>
</fieldset>
</h:panelGroup>
コンポーネントの名前は、@SessionScope の TickerUI に由来します。目を見張るようなビット: 最初のロード時に、正しいサブコンポーネントが表示されます。ただし、ナビゲーションでリンクを使用すると、別のコンポーネントが含まれるはずですが、コンテンツは更新されません! データは別のサブタイプになりましたが、フォーム コンポーネントは以前のもののままであるため、これはエラーになります。
エラーから戻って再度リンクをクリックすると、正しいコンポーネントが表示されます。editComponentName の値をログに記録したところ、正しい値が返されました。これは非常に紛らわしいです。ゲッターが正しいコンポーネント名を の src 属性に返すときに、誤ったコンテンツを含めるのはなぜですか?
大変助かります。