为了在JSF2.0中引入Richfaces,选择使用Richfaces 4.2.2,目前Richfaces 4.2.2 还没有最终发布版,只有milestone 5版,在官方网站下载M5版本,将其解压后,可以在artifacts文件夹中找到Richfaces 的开发库,它们被分别放置在framework和ui两个子文件夹中,这两个文件夹中有4个已编译的JAR,还有4个源文件JAR,我们只需将已编译的JAR引入到项目中即可,这4个包分别是:
- richfaces-components-api-4.2.2.Final.jar
- richfaces-components-ui-4.2.2.Final.jar
- richfaces-core-impl-4.2.2.Final.jar
- richfaces-core-api-4.2.2.Final.jar
然后,在Myeclipse 8.6中创建JSF2.0框架的web应用程序,并将Richfaces 4.2.2 的四个包作为一个库引入项目。在index.xtml中引入标记库声明:
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:a4j="http://richfaces.org/a4j"
- xmlns:rich="http://richfaces.org/rich">
并在<h:body>中加入Richfaces日期组件:
- <h:body>
- <rich:calendar />
- </h:body>
然后在tomcat6.0.35中测试主项目,问题出现了,项目无法部署,并提示如下信息:
Cause: Unable to create a new instance of 'org.richfaces.resource.ResourceHandlerImpl'
引发此问题的原因是:我们需要把Richfaces 4.0的几个依赖包加入到项目库中,详细信息可以在下载开发包的readme.txt中找到。
这几个包是:sac-1.3.jar,cssparser-0.9.5.jar ,guava-r07.jar。
至此,Richfaces 4.0就可以运行在你的JSF2项目中了。