3

我正在使用:

  • 素面3.4
  • tomcat7
  • 使用自定义 primefaces 主题(dark-hive)
  • 火狐 16.0.2, IE8

我正在尝试将 p:menu 放到网站上:

<?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:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      >
    <body>

        <ui:composition>
            <h:form>
                <p:menu >  
                    <p:submenu label="TESTING" icon="ui-icon-disk">  
                        <p:menuitem value="TEST"  outcome="/jsp/home" icon="ui-icon-star"/>
                        <p:menuitem value="List" outcome="/jsp/rip/home2" /> 
                        <p:menuitem value="ExcelTEst" outcome="/jsp/excelTest" /> 
                    </p:submenu>  
                </p:menu>

            </h:form>
        </ui:composition>

    </body>
</html> 

在此示例中,图标 ui-icon-star 跳转到子菜单测试左上角。这也发生在我为菜单项添加的所有图标上。至于图标ui-icon-disk,它没有显示出来。

我尝试了其他几个例子。这有效:

<p:panelMenu style="width:200px">  

    <p:submenu label="Navigations" >  
        <p:submenu label="Links" icon="ui-icon-extlink">  
            <p:submenu label="PrimeFaces" icon="ui-icon-heart">  
                <p:menuitem value="Home" url="http://www.primefaces.org" icon="ui-icon-home" />  
                <p:menuitem value="Docs" url="http://www.primefaces.org/documentation.html" icon="ui-icon-document" />  
                <p:menuitem value="Download" url="http://www.primefaces.org/downloads.html" icon="ui-icon-arrowthick-1-s" />  
                <p:menuitem value="Support" url="http://www.primefaces.org/support.html" icon="ui-icon-wrench" />  
            </p:submenu>  
        </p:submenu>  
        <p:menuitem value="Mobile" icon="ui-icon-signal"/>  
    </p:submenu>  
</p:panelMenu> 

有人可以说,怎么了?为什么 p:menu 不能按预期工作?

在此处输入图像描述

4

2 回答 2

1

这不是正确的解决方案,只需修复您的自定义主题 css:

.ui 菜单 .ui 图标
    位置:绝对;/* 删除这一行 */
    顶部:0.2em;
    左:0.2em;
}

到

.ui 菜单 .ui 图标
     顶部:0.2em;
    左:0.2em;
}

于 2013-01-10T22:13:33.490 回答
0

已解决从 ThemeRoller 中删除主题并从 Primefaces 中获取主题。有效。

于 2012-11-14T08:21:46.470 回答