私はJSFアプリケーションをブックマーク可能なページに変換する際に多くの進歩を遂げましたが、私が正しい方法でそれをやっているのかどうか疑問に思っています。 1つの質問は、f:メタデータタグのベストプラクティスの場所があることです。<ui:composition>テンプレートを使用する場合、<f:metadata>はどこに宣言する必要がありますか?
私の典型的なFaceletsのクライアントのページには、次のようになります。
<ui:composition template="./pattern.xhtml">
<ui:define name="content">
<f:metadata>
<f:viewParam name="userId" value="#{bean.userId}" />
<f:viewParam name="startRecord" value="#{bean.startRecord}" />
<f:viewParam name="pageSize" value="#{bean.pageSize}" />
<f:viewParam name="sort" value="#{bean.sort}" />
</f:metadata>
<h1>Data Table</h1>
etc
のでF:メタデータと子F:viewParamタグは私のページの体内で遭遇しています。私のpattern.xhtmlテンプレートには、ヘッダーセクションにこれらのタグを入れることができるセクション(「ヘッダー」という名前)もあります。彼らはそこに置かれるべきですか?それは違いを生むか、私はまだ見ていないいくつかの副作用のためにセットアップされていますか?
私は、私がやっていることより少しきれいに見えます。どういうわけか、メタデータ目的のためだけに** ui:insert **を作成するのは私には起こりませんでしたが、今すぐします。 – AlanObject
'f:metadata'は、例えば再利用可能にするためにページテンプレートに置くことはできませんか?レンダリングされる前に、すべてのビューに対して実行したいアクションがある場合はどうしたらいいですか? –
@Xtreme:「」を使用してください。実際には ''の中に置く必要はありません。 http://stackoverflow.com/questions/7343220/jsf-does-it-matter-whether-place-fevent-inside-fmetadata-or-not/7343242#7343242 –
BalusC