在JSF中呈现PrimeFaces MegaMenu:组合

时间:2014-04-23 02:03:15

标签: jquery jsf jsf-2 primefaces

我有以下JSF代码片段,它由ui:composition标签组成,使用自定义组件工作得很好 - 具有所有这些信息的文件名为header.xhtml。

    <html xmlns="http://www.w3.org/1999/xhtml"
     xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
     xmlns:projsfhtml5="http://xmlns.jcp.org/jsf/composite/projsfhtml5">
    <ui:composition>
       <!-- Include Prime Faces mega menu here -->  
       <projsfhtml5:navbar label="Mega App"
       value="#{request.contextPath}/protected/pages/bookSearch.xhtml">
   <projsfhtml5:navitem label="Contact Us"
        value="#{request.contextPath}/public/pages/contactUs.xhtml" />
    <projsfhtml5:navitem label="About"
        value="#{request.contextPath}/public/pages/about.xhtml" />
    </projsfhtml5:navbar>

    <div class="page-header">
    <h1>
    <ui:insert name="headerText">Welcome to the online library</ui:insert>
    </h1>
    </div>
     </ui:composition>
 </html>

此文件又是simple.xhtml模板的一部分,该模板用作网站中许多页面的模板。

 <?xml version='1.0' encoding='UTF-8' ?>
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml"
   xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
   xmlns:h="http://xmlns.jcp.org/jsf/html">

  <h:head>
 <title><ui:insert name="title">Welcome</ui:insert></title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
     <ui:include src="common/bootstrapCSS.xhtml" />   
   </h:head>

   <h:body>
  <div class="container">
    <ui:insert name="header">
        <ui:include src="common/header.xhtml" />
    </ui:insert>

    <ui:insert name="content"></ui:insert>

    <ui:insert name="footer"></ui:insert>
</div>

<ui:include src="common/bootstrapJS.xhtml" />
    </h:body>
    </html>

我最终要做的是代替header.xhtml中的projsfhtml5:navitem标签我想渲染主要面孔的大型菜单元素,以便用它来显示菜单项 - 这似乎有效(即渲染部分)但菜单无法正确扩展,无法单击任何选项。有没有人尝试过这个或有经验呢?

由于

0 个答案:

没有答案