我正在尝试创建一个RichFaces应用程序,由于一些原因,我使用的是非常旧的版本,即我必须使用JSF 1.2和RichFaces 3.0.1。
我已经让JSF 1.2组件工作了,但是当我试图用RichFaces组件创建一个简单的页面时,组件正在获得render,但它被破坏了。以下是实际和预期的外观:
预期
(这来自
here
,代码也在那里,只需在下面滚动一下,我的代码就在下面):
实际:
我得到了正确的菜单选项,但错过了所有这些蓝色的东西和外观和感觉。
在我看来,一些CSS或图像丢失了,但我使用的是RichFaces JAR,教程中没有提到需要额外的图像/CSS,所以我排除了这一点。
然后我认为这可能是容器问题,我检查了RichFaces的技术要求,对于ApacheTomcat,它不应该大于6.0(
Apache Tomcat 5.5 - 6.0
),我当时在做7。x、 因此,我跳过了宾果游戏,发现了问题,但遗憾的是,即使在部署Tomcat 5.5时,我也遇到了同样的问题。
据我所知,我有正确的配置细节和所有必需的JAR,但考虑到这种情况,我觉得我缺少一些配置或其他东西。
richfaces_test_so。jsp:
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
<html>
<head>
<title>Add New User Form</title>
</head>
<body>
<f:view>
<h:form>
<rich:dropDownMenu value="File" direction="bottom-right" jointPoint="bl">
<rich:menuItem submitMode="ajax" value="New" action="#{helloBean.addUser}"/>
<rich:menuItem submitMode="ajax" value="Open" action="#{helloBean.addUser}"/>
<rich:menuGroup value="Save As...">
<rich:menuItem submitMode="ajax" value="Text File" action="#{helloBean.addUser}"/>
<rich:menuItem submitMode="ajax" value="PDF File" action="#{helloBean.addUser}"/>
</rich:menuGroup>
<rich:menuItem submitMode="ajax" value="Close" action="#{helloBean.addUser}"/>
<rich:menuSeparator id="menuSeparator11"/>
<rich:menuItem submitMode="ajax" value="Exit" action="#{helloBean.addUser}"/>
</rich:dropDownMenu>
</h:form>
</f:view>
</body>
</html>
网状物xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>jsftest_tomcat_5</display-name>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<!-- Ajax4JSF -->
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<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>
<filter>
<display-name>Ajax4jsf Filter</display-name>
<filter-name>ajax4jsf</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>ajax4jsf</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<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>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>greeting.xhtml</welcome-file>
</welcome-file-list>
</web-app>
我的罐子列表:
-
ajax4jsf-1.1.1。罐子
-
commons-beanutils-1.7.0。罐子
-
commons-codec-1.3。罐子
-
commons-collections-3.1。罐子
-
commons-dbcp-1.2.2。罐子
-
commons-digester-1.6。罐子
-
commons-el-1.0。罐子
-
commons-fileupload-1.2.2。罐子
-
commons-io-1.3.2。罐子
-
commons-lang-2.1。罐子
-
commons-logging-1.0.4。罐子
-
commons-pool-1.3。罐子
-
-
javax。el-api-2.2.4。罐子
-
jsf-facelets-1.1.11。罐子
-
jstl-1.1.0。罐子
-
myfaces-api-1.1.5。罐子
-
myfaces-impl-1.1.5。罐子
-
richfaces-3.0.1。罐子
-
战斧-1.1.6。罐子
如果我遗漏了什么,有人能帮我指出吗。
我必须在RichFaces 3.0.1和JSF 1.2上工作,所以请不要建议在最新版本上工作。