我是jsf和富有面孔的新人。我正在关注现场演示并尝试创建一个简单的菜单。但它不起作用。我正在使用jboss7.1和jsf 2.1和ric 4.3.4
menu.xmhtl
<!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<h:head></h:head>
<h:body>
<ui:composition>
<h:form>
<rich:toolbar height="26px">
<rich:dropDownMenu mode="ajax">
<f:facet name="label">
<h:panelGroup>
<h:outputText value="File" />
</h:panelGroup>
</f:facet>
<rich:menuItem label="hello" action="hello" />
<rich:menuSeparator id="menuSeparator11" />
<rich:menuItem label="Open" action="AddStudent" />
</rich:dropDownMenu>
<rich:dropDownMenu mode="ajax">
<f:facet name="label">
<h:panelGroup>
<h:outputText value="File" />
</h:panelGroup>
</f:facet>
<rich:menuItem label="hello" action="hello" />
<rich:menuItem label="Open" action="AddStudent" />
</rich:dropDownMenu>
</rich:toolbar>
</h:form>
</ui:composition>
</h:body>
</html>
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>helloRich</display-name>
<welcome-file-list>
<welcome-file>hello.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</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>*.xhtml</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
</web-app>
这些是我在lib目录中的jar
cssparser-0.9.5.jar
guava-r08.jar
jstl-1.2.jar
richfaces-components-api-4.3.4.Final.jar
richfaces-components-ui-4.3.4.Final.jar
richfaces-core-api-4.3.4.Final.jar
richfaces-core-impl-4.3.4.Final.jar
sac-1.3.jar
我不知道我在这里缺少什么..任何帮助都会有所帮助.. 我的输出
答案 0 :(得分:1)
您需要摆脱页面上的<ui:composition>
。
根据定义,JSF运行时将忽略在<ui:composition>
标记之外声明的所有内容。这包括您在那里的<h:head>
和<h:body>
标记。产生的问题是,<h:head/>
标记是JSF能够包含正确呈现组件所需的javascript包的必要条件。这是您遇到的问题。
看到你实际上没有使用<ui:composition/>
的模板能力,你可以安全地删除它以获得结果。
相关: