ドキュメント本文内のpreRenderViewとpreRenderComponentのリスナーが実行された後に取得されるページに動的なページタイトルを設定する必要があります。しかし、それらのリスナーが実行される前にタイトルがレンダリングされていることがわかりました。
リスナーが実行されるまでタイトルタグのレンダリングを遅らせる方法はありますか?
わかりました、回避策として次の戦略を試しました。f:event type="preRenderComponent"..
内部body
からhead
セクションに移動するだけで、目的の動作が得られます。
<f:metadata>
<f:viewParam name="id" value="#{bean.id}" />
</f:metadata>
<ui:define name="titleOfPage">
<f:event type="preRenderComponent" listener="#{bean.method()}"/>
#{bean.title}
</ui:define>
<ui:define name="bodyOfPage">
..
..
</ui:define>
マスター テンプレート:
<h:head>
...
<title><ui:insert name="titleOfPage"></ui:insert></title>
</h:head>
<h:body >
<ui:insert name="bodyOfPage">Body of the pages goes here</ui:insert>
</h:body >
最初のリスナー メソッドが呼び出され、次に title
内部head
がレンダリングされます。
おそらく、タグを先頭PreRenderView
に移動する必要なくタイプを直接使用できた可能性がありますが、望ましくない ajax リクエストでもトリガーされます。f:event
PreRenderView