0

私は JSF の使用にまったく慣れていないので、それが正しい方法かどうかはわかりませんが、Rails では通常、現在のページが読み込まれるメイン アプリケーション ファイルがあります。そうすれば、毎回メニューなどをコピペする心配がありません。

JSF 2でそれを達成するにはどうすればよいですか? 毎回同じメイン ページに移動して、現在のコンテンツを読み込むように指示できますか? それとも、ナビゲートする現在のページに「コンテンツの周りのメインフレーム」をロードするように指示しますか?

ありがとう!

4

2 に答える 2

3

はい、もちろん、JSF 2.0 にはページ テンプレート機能があります。すべてのビュー ページに対する一般的なレイアウトを定義するテンプレートを定義します。

基本ページを作成する Facelets タグ:

  • ui:insert – テンプレートをロードするファイルによって置き換えられるコンテンツを定義します。
  • ui:define – タグに挿入されるコンテンツを定義しui:insertます。
  • ui:include – 別のページのコンテンツを含めます。
  • ui:composition – template 属性で使用される場合、指定されたテンプレートが読み込まれ、このタグの子がテンプレート レイアウトを定義します。それ以外の場合は、どこかに挿入できる要素のグループです。

例えば:

<ui:composition
     xmlns="http://www.w3.org/1999/xhtml"
     xmlns:ui="http://java.sun.com/jsf/facelets"
    template="/templates/myLayout.xhtml">

   <ui:define name="menu">
      <ui:include src="/mypath/menu.xhtml"/>
   </ui:define>

   <ui:define name="content"> 
     <ui:include src="/mypath/content.xhtml"/>           
   </ui:define>

</ui:composition>

また

<ui:insert name="content">
   <ui:include src="/mypath/mycontent.xhtml"/>
</ui:insert>
于 2012-05-02T08:18:44.250 に答える