RichFaces 3.3.3 和 JSF 2.0 工作示例

Posted

技术标签:

【中文标题】RichFaces 3.3.3 和 JSF 2.0 工作示例【英文标题】:RichFaces 3.3.3 with JSF 2.0 working example 【发布时间】:2011-03-29 20:54:08 【问题描述】:

我对 JSF 很陌生,我正在寻找 JSF 2.0 的纯配置和 RichFaces 3.3.3.Final。 JBoss 网站上的文档适用于 JSF 1.2。我也找到了这个jboss article,但示例应用程序有很多配置。

如果您已成功使 RichFaces 和 JSF 2 工作,请分享您的配置。 谢谢。

【问题讨论】:

【参考方案1】:

好吧,我发现他说了“很多配置”,因为这不仅仅是他试图对他的项目做的事情,我也有同样的问题,我需要运行一个带有 Richfaces 3.3.3 的 JSF 1.2 应用程序玻璃鱼 3;但应用程序很大,无法更改 Richfaces 版本;我们只需要像在 gf3 中运行的应用程序一样,只需进行最少的更改。

【讨论】:

【参考方案2】:

您必须添加最新的facelets、richfaces 3.3.3 和jsf 2.x 库。 这是我用于我的项目的 web.xml 配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Production</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>
    <context-param>
        <param-name>javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER</param-name>
        <param-value>true</param-value>
    </context-param>

    <!--Configuration for Richfaces-->
    <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>
    <!--End of the configuration part for Richfaces-->

    <!--Configuration for Facelets-->
    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.jsp</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.VIEW_MAPPINGS</param-name>
        <param-value>*.xhtml</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.SKIP_COMMENTS</param-name>
        <param-value>true</param-value>
    </context-param>
    <!--End of the configuration part for Facelets-->


    <welcome-file-list>
        <welcome-file>faces/index.jsp</welcome-file>
    </welcome-file-list>


</web-app>

这是您可以在我的图书馆中找到的内容: standard.jar(用于 JSTL)

jstl.jar(用于 JSTL)

jsf-facelets.jar (Facelets 1. 1. 15)

richfaces-api-3.3.3.Final.jar

richfaces-impl-jsf2-3.3。 3.Final.jar

richfaces-ui-3.3.3.Final.jar

commons-beanutils-1.8.3.jar

commons-collections-3.2. 1.jar

commons-digester-2.0.jar

commons-logging-1.1.1.jar

jsf-api.jar(用于 JSF2)

jsf-impl.jar(用于 JSF2)

HTH。

【讨论】:

【参考方案3】:

您可以尝试 Tomcat 6 的 RichFaces 4 模板:http://mkblog.exadel.com/2010/06/richfaces-4-alpha-2-is-now-available-project-template/。只需将 alpha 版本替换为 M1 版本即可。此外,从 RichFaces 4 开始,零配置。

【讨论】:

他要的是 Richfaces 3.3.3。 Richfaces 4.M1 远未完成。 我想这取决于 OP 的要求。如果目标是尝试 RichFaces 3.3.3,那么应该使用 JSF 1.2(JSF2 确实没有添加太多)。如果用户想尝试 JSF2 特性,那么应该使用 RichFaces 4 (M1)。【参考方案4】:

您遇到的具体问题是什么?很多配置? web.xml 太大了?好吧,这就是你得到的。要么仔细阅读文档 - 很清楚, 只需寻找另一个需要较少配置的组件库,例如 PrimeFaces。基本上你只需要添加一个single resource servlet。

如果您需要更多帮助以使 RichFaces 正常工作,您确实需要更清楚地了解实际问题。 “大量配置”不是技术问题。它在你的耳朵之间。错误/警告消息和奇怪的症状是真正的问题。你应该详细说明一下。

【讨论】:

以上是关于RichFaces 3.3.3 和 JSF 2.0 工作示例的主要内容,如果未能解决你的问题,请参考以下文章

JSF、RichFaces、PrimeFaces 和 IceFaces 之间的区别

如何在 JSF 2.0/2.1 中用 CDI 替换 @ManagedBean / @ViewScope

如何使用 Richfaces 和 CSS 在 JSF 应用程序中添加背景图像?

JSF Richfaces 前端性能调优

JSF,RichFaces,分页

jsf(richfaces)只读输入文本验证[重复]