如何在p:layout中修复primefaces p:megaMenu问题?

时间:2013-10-14 05:18:42

标签: jquery css jsf jsf-2 primefaces

如何在p:megaMenu中使用p:layout?布局内容涵盖菜单内容。 让我知道任何解决方案或任何建议。

的template.xhtml

<p:layout fullPage="true">
   <p:layoutUnit position="north" size="40">
        <ui:include src="/common/menu.xhtml"/>
   </p:layoutUnit>
   <p:layoutUnit position="center">
        <ui:insert name="content"/>
    </p:layoutUnit>
   <p:layoutUnit position="south" size="40">
        <ui:include src="/common/footer.xhtml"/>
   </p:layoutUnit>
</p:layout>

名为menu.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui">
       <h:form id="menuForm">
        <p:megaMenu autoDisplay="false">
            <p:menuitem value="Dashboard" action="dashboard" ajax="false" immediate="true"/>  
            <p:submenu label="Report">
                <p:column>
                    <p:submenu label="Agent">
                        <p:menuitem value="Agent Commission Detail Report" action="agentCommissionDetailReport" ajax="false" immediate="true"/>  
                        <p:menuitem value="Agent Information Report" action="agentInformationReport" ajax="false" immediate="true"/>  
                        <p:menuitem value="Sales Report" action="salesReport" ajax="false" immediate="true"/>  
                    </p:submenu>
                </p:column>
            </p:submenu>
        </p:megaMenu>
    </h:form>
</ui:composition>

如下图所示:

enter image description here

1 个答案:

答案 0 :(得分:2)

我从Primefaces论坛得到了一些解决方案。我通过更改CSS修复了问题。 它现在运作良好。

<h:head>
    <style>
        #topPanel {z-index:2 !important; }
        #topPanel div{overflow:visible;}
    </style>
</h:head>

<p:layout fullPage="true">
   <p:layoutUnit position="north" size="50" id="topPanel">
        <ui:include src="/common/menu.xhtml"/>
   </p:layoutUnit>

   ......