我有一个简单的JSF项目,效果很好;将RichFaces添加到它后,它会停止正常工作
环境:Eclipse IDE,JSF 2.1(Apache MyFaces 2.1.5),Tomcat v7.0 Server(位置:工作区元数据,服务器位置:使用Tomcat安装); http://localhost:8181/为我提供了管理控制台,因此服务器运行正常
应用程序:名为 jsf1 的动态Web项目(版本3.0);
在WebContent下,我有一个名为main.xhtml的页面(为了简洁起见,我不会粘贴内容,因为到目前为止一切运行良好;它是一个简单的hello world页面);faces-config.xml保持不变;
web.xml包含:
<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>
在Project Explorer中,我右键单击项目&gt;运行方式&gt;在服务器上运行,可以在网址浏览器的http://localhost:8181/jsf1/faces/main.xhtml
中访问该应用程序添加RichFaces :我按照https://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/GettingStarted.html
上的说明进行操作我在web.xml中添加了以下内容:
<!-- Plugging the "Blue Sky" skin into the project -->
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<!-- Making the RichFaces skin spread to standard HTML controls -->
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<!-- Defining and mapping the RichFaces filter -->
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
现在,当我在服务器上运行项目时,在控制台中我得到:
SEVERE:启动过滤器richfaces的异常
java.lang.ClassNotFoundException:org.ajax4jsf.Filter
我添加了richfaces-impl-3.3.3.Final.jar,其中包含org.ajax4jsf.Filter类。 现在,当我在服务器上运行项目时,控制台不包含任何错误,但是,链接http://localhost:8181/jsf1/faces/main.xhtml显示一个空白页。
如何创建功能齐全的RichFaces应用程序?