Richfaces 4.0/JSF2.0:为什么panelMenu和dropDownMenu不呈现?
我正在使用RichFaces4.0/JSF2.0/Tomcat。我创建了一个页面来呈现panelMenu和dropDownMenu。但是,panelMenu仅呈现为纯文本,而dropDownMenu则完全不呈现。请参见屏幕图像: 当我尝试使用RichFaces 3.3.3时,它们被正确渲染。但是,我开始得到一个错误,在我的其他页面中无法识别标记h:header。我添加了以下文件:- richfaces-components-api-4.1.0.Final.jar richfaces-components-ui-4.1.0.Final.jar richfaces-core-api-4.1.0.Final.jar richfaces-core-impl-4.1.0.Final.jar sac-1.3.jar 番石榴-r09.jar cssparser-0.9.5.jar jsf-api.jar和jsf-impl.jar 2.0 我的代码:Richfaces 4.0/JSF2.0:为什么panelMenu和dropDownMenu不呈现?,jsf,richfaces,Jsf,Richfaces,我正在使用RichFaces4.0/JSF2.0/Tomcat。我创建了一个页面来呈现panelMenu和dropDownMenu。但是,panelMenu仅呈现为纯文本,而dropDownMenu则完全不呈现。请参见屏幕图像: 当我尝试使用RichFaces 3.3.3时,它们被正确渲染。但是,我开始得到一个错误,在我的其他页面中无法识别标记h:header。我添加了以下文件:- richfaces-components-api-4.1.0.Final.jar richfaces-compo
<h:body>
<h:form id="form2">
<rich:dropDownMenu value="MENU">
<rich:menuItem value="ITEM1"></rich:menuItem>
<rich:menuItem value="ITEM2"></rich:menuItem>
</rich:dropDownMenu>
</h:form>
<h:form id="form">
<h:panelGrid columns="2" columnClasses="cols,cols" width="400">
<rich:panelMenu style="width:200px" mode="ajax"
iconExpandedGroup="disc" iconCollapsedGroup="disc"
iconExpandedTopGroup="chevronUp" iconGroupTopPosition="right"
iconCollapsedTopGroup="chevronDown">
<rich:panelMenuGroup label="Group 1">
<rich:panelMenuItem label="Item 1.1"
action="#{panelMenu.updateCurrent}">
<f:param name="current" value="Item 1.1" />
</rich:panelMenuItem>
<rich:panelMenuItem label="Item 1.2"
action="#{panelMenu.updateCurrent}">
<f:param name="current" value="Item 1.2" />
</rich:panelMenuItem>
<rich:panelMenuItem label="Item 1.3"
action="#{panelMenu.updateCurrent}">
<f:param name="current" value="Item 1.3" />
</rich:panelMenuItem>
</rich:panelMenuGroup>
</rich:panelMenu>
<rich:panel bodyClass="rich-laguna-panel-no-header">
<a4j:outputPanel ajaxRendered="true">
<h:outputText value="#{panelMenu.current} selected" id="current" />
</a4j:outputPanel>
</rich:panel>
</h:panelGrid>
</h:form>
</h:body>
My web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
我终于从他那里得到了答案。有一些问题:- 结果是RichFaces 4.0重命名了web.xml中指定的许多参数,例如。 org.richfaces.SKIN现在是org.richfaces.SKIN, org.richfaces.CONTROL\u立即蒙皮org.richfaces.enableControlSkinning等 如果没有h:head标记,蒙皮将无法工作。 非常令人困惑……本节将介绍这一点和更多内容。检查应用程序描述符更新章节。这只是一个新的JSF2标记,它允许组件库开发人员通过标准API方法以编程方式包含CSS/JS文件,而无需使用自定义过滤器/渲染器。