に を登録しSystemEventListener
ましたPreRenderViewEvent
。その目的は、UI ロール マップに基づいて、一部のコンポーネントをレンダリング --> false に設定することです。ページが初めてロードされるとき、UiViewRoot
I get fromevent.getSource
には正しい viewId がありますが、子がありません。後続の呼び出しでは、ページからイベントが呼び出されるたびに、 にデータUiViewRoot
が取り込まれ、リスナーが期待どおりに動作します (目的のコンポーネントがページから消えます)。
なぜそのように機能するのかについての洞察はありますか?PreRenderViewEvent
の予想される動作は、リスナーが呼び出される前にコンポーネント ツリーを構築することだと思いました。
(VDLを無効にしてMojarraで実行されているps)