Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在jsf中导航到大量页面_Java_Jsf_Primefaces_Navigation_Faces Config - Fatal编程技术网

Java 如何在jsf中导航到大量页面

Java 如何在jsf中导航到大量页面,java,jsf,primefaces,navigation,faces-config,Java,Jsf,Primefaces,Navigation,Faces Config,我有这个问题:我有大约5个页面(可能更多…)和一个登录页面,你可以从任何页面导航到任何你想要的页面(除了登录)。所以我做了一个模板。我有一个 <p:layoutUnit position="north"> 在所有页面(登录除外)中,一个在北方,另一个在南方,另一个在西部。西部布局单元有一个菜单,第1页、第2页。。。佩金,北方和南方总是一样的。所以我所做的就是使用 <ui:include src="norte.xhtml" /> 在北部布局单元中,对南部和西部布

我有这个问题:我有大约5个页面(可能更多…)和一个登录页面,你可以从任何页面导航到任何你想要的页面(除了登录)。所以我做了一个模板。我有一个

<p:layoutUnit position="north">

在所有页面(登录除外)中,一个在北方,另一个在南方,另一个在西部。西部布局单元有一个菜单,第1页、第2页。。。佩金,北方和南方总是一样的。所以我所做的就是使用

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

在北部布局单元中,对南部和西部布局单元进行了相同的操作但问题是我可以从任何页面导航到任何页面,因此如何管理这种导航情况?我是否必须为所有可能的导航情况创建导航规则

请帮帮我。我想让它充满活力。我正在使用JavaEE7、JSF2.2以及PrimeFaces4.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>

  • 谢谢你的帮助。:)

您需要使用:

<ui:insert name="content"/>

在模板中。。比您要使用的每个页面都要多

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

布拉布拉
下面是对jsf模板的基本解释

还有一个:

希望有帮助:)

编辑:

在这里,我将给出更多信息: 假设您有以下页面: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,这将用redirect替换转发。。只要你想重定向而不是转发,你就可以这样做。 现在以index.jsf为例:

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

我是索引页
第1页和第2页的内容将相同,但内容将发生更改


现在所有页面都将包含相同的菜单。。菜单将仅在模板中定义。当你可以在你的应用程序中找到页面的路径时,它会工作

模板很好,但我不确定如何进行导航。我必须使用导航规则吗?我会更新这个问题,这样你就可以知道我是怎么做的。问题是要知道这是否是正确的方法。。。