Primefaces菜单栏未正确渲染

Primefaces菜单栏未正确渲染,primefaces,submenu,Primefaces,Submenu,我在使用layoutunit呈现页面时遇到了一个问题,其中最上面的layoutunit有一个菜单栏,其中几乎没有子菜单和菜单项。 它在浏览器中的渲染不正确。请参阅所附的预期和实际页面的屏幕截图 早些时候,它在Chrome中正常渲染,但在firefox和IE中没有。但是,现在它在任何浏览器中都没有预期的渲染效果 master-layout.xhtml <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://

我在使用layoutunit呈现页面时遇到了一个问题,其中最上面的layoutunit有一个菜单栏,其中几乎没有子菜单和菜单项。 它在浏览器中的渲染不正确。请参阅所附的预期和实际页面的屏幕截图 早些时候,它在Chrome中正常渲染,但在firefox和IE中没有。但是,现在它在任何浏览器中都没有预期的渲染效果

master-layout.xhtml

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<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:c="http://java.sun.com/jstl/core"
    xmlns:p="http://primefaces.org/ui">
    <f:view contentType="text/html">
        <h:head>
            <f:facet name="first">
                <title>SAMPLE</title>
            </f:facet>
            <ui:insert name="head"></ui:insert>
            <link type="text/css" rel="stylesheet"
                href="#{request.contextPath}/resources/themes/overcast/overcast.css"></link>
            <link type="text/css" rel="stylesheet"
                href="#{request.contextPath}/resources/style/my-style.css"></link>
        </h:head>
        <h:body>
            <p:layout fullPage="true">
                <p:ajax event="toggle" listener="#{layoutBean.handleToggle}" />
                <p:ajax event="close" listener="#{layoutBean.handleClose}" />
                <p:layoutUnit position="north" size="100" header="Track-!T"
                    resizable="true" closable="true" collapsible="true"
                    id="top">
                    <h:form id="topform">
                        <ui:include src="main-menu-bar.xhtml" />
                    </h:form>
                </p:layoutUnit>
                <p:layoutUnit position="south" size="100" header="Bottom"
                    resizable="true" closable="true" collapsible="true"
                    id="bottom">
                    <h:form id="bottomform">
                        <h:outputText value="South unit content." />
                    </h:form>
                </p:layoutUnit>
                <p:layoutUnit position="west" size="200" header="Left"
                    resizable="true" closable="true" collapsible="true"
                    id="left">
                    <h:form id="leftform">
                        <ui:insert name="side-menu-bar" />
                    </h:form>
                </p:layoutUnit>
                <p:layoutUnit position="east" size="200" header="Right"
                    resizable="true" closable="true" collapsible="true" id="right"
                    style="height:auto">
                    <h:form id="rightform">
                        <ui:insert name="rightPanel" />
                    </h:form>
                </p:layoutUnit>
                <p:layoutUnit position="center" id="center">
                    <p:messages id="messages" showDetail="true" autoUpdate="true"
                        closable="true" />
                    <h:form id="myform">
                        <ui:insert name="content" />
                    </h:form>
                </p:layoutUnit>
            </p:layout>
        </h:body>
    </f:view>
</ui:composition>

样品
main-menu-bar.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">
    <p:menubar id="mainmenubar">
        <p:submenu label="File" icon="ui-icon-note" id="filemenu">
            <p:menuitem value="Customer" />
            <p:menuitem value="Enquiry" />
            <p:menuitem value="Job" />
            <p:menuitem value="Agent"
                action="#{agentController.renderCreateAgentForm}" process="filemenu" />
        </p:submenu>
        <p:submenu label="Tools" icon="ui-icon-wrench">
            <p:menuitem value="Back-up Data" />
            <p:menuitem value="Restore Data" />
        </p:submenu>
        <p:submenu label="Settings" icon="ui-icon-gear">
            <p:menuitem value="Register Product" />
            <p:menuitem value="Master Data"
                action="#{countryRegionController.renderCreateCountryRegionForm}" />
        </p:submenu>
        <p:submenu label="Help" icon="ui-icon-help">
            <p:menuitem value="Project" />
            <p:menuitem value="Other" />
        </p:submenu>
        <p:submenu label="Quit" icon="ui-icon-power">
            <p:submenu label="Customer" icon="ui-icon-contact">
                <p:menuitem value="Project" />
                <p:menuitem value="Other" />
            </p:submenu>
            <p:menuitem value="Open" />
            <p:separator />
            <p:menuitem value="Quit" />
        </p:submenu>
        <f:facet name="options">
            <p:inputText style="margin-right:10px" />
            <p:commandButton type="button" value="Logout" />
        </f:facet>
    </p:menubar>
</ui:composition>


请将问题和解决方案发到这里。谢谢。

您是否尝试将
放在
主菜单栏内。xhtml
?没有。我也检查了。但是,没有用。我不确定,但我认为在生成html时,
    标记有问题。因为,在图片中,您可以注意到所有菜单项默认显示为项目符号。你在你的机器上试过这段代码吗?Lamq,当我检查primefaces 4.0依赖项时,它与el api版本2.2有依赖关系。但是,我一直在pom.xml中提供旧版本的el api。所以,我删除了这一个,它的工作非常好,现在。。谢谢你的回复。是旧版本的EL导致的吗?那会很奇怪。。。它们很可能在浏览器控制台或服务器中出现错误