JSF2.0菜单导航问题

JSF2.0菜单导航问题,jsf,jsf-2,Jsf,Jsf 2,我是JSF新手,目前正在使用tomcat和Primefaces运行JSF2.0。我使用primefaces layoutUnit和primefaces菜单创建了一个简单的页面。我有一个三面板布局,菜单在左面板,主页在中间,一些公制/图形的东西在右面板。我在理解如何为主面板创建单独的视图时遇到问题,在选择适当的菜单工具项时,将查看主面板。我想使用ajax,因此没有页面刷新,所以我只想创建一些东西,如果我有一个“用户”工具,当我单击它时,用户视图将显示在中心面板中,类似地,如果我有一个配置工具,我想

我是JSF新手,目前正在使用tomcat和Primefaces运行JSF2.0。我使用primefaces layoutUnit和primefaces菜单创建了一个简单的页面。我有一个三面板布局,菜单在左面板,主页在中间,一些公制/图形的东西在右面板。我在理解如何为主面板创建单独的视图时遇到问题,在选择适当的菜单工具项时,将查看主面板。我想使用ajax,因此没有页面刷新,所以我只想创建一些东西,如果我有一个“用户”工具,当我单击它时,用户视图将显示在中心面板中,类似地,如果我有一个配置工具,我想显示配置视图。我曾尝试为每个视图创建单独的布局单元,然后在单击某个工具时使用rendered=”“进行渲染,但这不起作用。有人能解释一下正确的方法吗?我在网上找不到任何例子。谢谢

您应该试着从模板的角度考虑web应用程序,并使用Facelets模板功能。(您正在使用哪个版本的JSF?尝试使用JSF2…)

primefaces布局可以是模板的一部分。因此,使用模板的每个页面(“用户”、“工具”)实际上都会“自动”与布局的主面板相对应,并在其中添加左面板和右面板

假设您在左侧面板的菜单组件中有一个“用户”子菜单。然后它将链接到“用户”视图(使用Ajax)


您应该阅读:

您必须创建模板 步骤:1


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui"

    <div>
    /* define your pages here.*/
    /*menuPage refers the header information*/        
        <div class="menuPage">
           <ui:insert name="menuPage" />
        </div>     
    /* mainPage refers the what are your .xhtml files*/
        <div class="mainPage">
            <ui:insert name="mainPage" />
        </div>  
     /*footer page*/
        <div class="footerPage">
           <ui:insert name="footerPage" />
        </div> 

    </div>

</html>
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui">


    <ui:composition template="template.xhtml">

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

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

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

    </ui:composition>
</html>