ConversationScoped Bean を ViewScoped Bean に注入することはできません。 ConversationScoped Bean が ViewScoped Bean よりも寿命が短いか、またはその逆になる可能性があるためです。
この制限を克服するために、f:event を使用して preRenderView リスナーとしてインジェクションを実行しようとしました。
<f:metadata>
<f:event type="preRenderView" listener="#{taskController.initializeTask(workPackageConversation.workPackage)}" />
</f:metadata>
ただし、リスナーのinitializeTaskもゲッターのgetWorkPackageも呼び出されていません。
FacesContext を使用してマネージド Bean を別のマネージド Bean からルックアップできることはわかっていますが、なぜこれが機能しないのか興味があります。別のビューからビューに移動するときに f:event リスナーが呼び出されないためですか? すなわち。リダイレクトまたはダイレクト ページ ビューなしで?
Seam 3 Faces の s:viewAction タグも試しましたが、うまくいきませんでした。どちらも呼び出されません。
前もって感謝します。