0

私はこの問題を抱えています: 私は約 5 ページ (もっとあるかもしれません...) とログイン ページを持っています。だから私はテンプレートを作りました。私は

<p:layoutUnit position="north">

すべてのページ (ログインを除く)で、北に 1 つ、南に 1 つ、西に 1 つ。west レイアウトユニットにはpage1、page2 ... pageNのメニューがあり、北と南は常に同じです。だから私がしたことは

<ui:include src="norte.xhtml" />

北のレイアウトユニットで、南と西のレイアウトユニットで同じことをしました。しかし問題は、任意のページから任意のページに移動できることです。このナビゲーション状況をどのように管理できますか? 考えられるすべてのナビゲーション状況に対してナビゲーション ルールを作成する必要がありますか?

私を助けてください。これをダイナミックにしたい。JavaEE 7、JSF 2.2、PrimeFaces 4.0、および Netbeans を使用しています。私はこれを可能な限り正しい方法で行いたいと思っています。

転送またはリダイレクトを使用する必要がありますか?また、その方法は?

これはメニューコードです:

<h:body>
        <ui:composition>
            <p:menu>
                <p:menuitem value="Inicio" action="page1" />
                <p:menuitem value="Altas / Entradas" action="page2" />
                <p:menuitem value="Modificar Refacciones" action="page3" />
                <p:menuitem value="Consultar" action="page4" />
            </p:menu>
        </ui:composition>
    </h:body>
  • あなたの助けをありがとう:)

4

1 に答える 1

0

以下を使用する必要があります。

<ui:insert name="content"/>

テンプレートで..使用するすべてのページよりも、ラップする必要があるテンプレート

<ui:composition template="/yourpath/yourtemplatePage"/>
     <ui:define name="content">
     bla bla
     <ui:define/>
<ui:composition/>

jsf templatingL の基本的な説明は次のとおりです http://www.mkyong.com/jsf2/jsf-2-templating-with-facelets-example/

もう 1 つ: http://courses.coreservlets.com/Course-Materials/pdf/jsf/jsf2/JSF2-Facelets-Templating.pdf

その助けを願っています:)。

編集:

ここでもう少し詳しく説明します: index.jsf、page1.jsf、page2.jsf というページがあるとします。

たとえば、メニューを使用してテンプレートを作成する必要があります: template.jsf:

 <h:body>
   <p:menu>
     <p:menuitem value="Inicio" action="/appname/index?faces-redirect=true" />
     <p:menuitem value="Altas / Entradas" action="/appname/page1" />
     <p:menuitem value="Modificar Refacciones" action="/appname/page2" />
   </p:menu>
   <ui:insert name="pageContent"/>
 </h:body>

ご覧のとおり、?faces-redirect=true を追加しました。これにより、転送がリダイレクトに置き換えられます。転送の代わりにリダイレクトしたいときはいつでも実行できます。次に、index.jsf の例を示します。

<ui:composition template="/appname/template.xhtml"/>
     <ui:define name="contentPage">
        i am index page
     <ui:define/>
<ui:composition/>

同じことが page1、page2 にもあり、それらのコンテンツのみが変更されます。

これで、すべてのページに同じメニューが含まれるようになります。また、メニューはテンプレートでのみ定義されます。アプリのページへのパスができると、機能します

于 2014-05-22T22:39:36.080 に答える