2

我有一个在 WebLogic 10.3.0 上运行的 Java EE 5 Web 应用程序。我想使用 JSF 2.x,但 WebLogic 10.x 只支持 JSF 1.2。因此,我做了以下操作以改用 JSF 2.x。

  1. 我部署了一个包含这些 JAR 的 WAR:

    • wls.jsf.di.jar
    • glassfish.jstl_1.2.0.1.jar
    • javax.jsf_1.0.0.0_2-0.jar (jsf 2.0)
    • glassfish.jsf_1.0.0.0_2-0-4.jar

  2. 我添加了以下 JAR 来构建纯粹用于编译的路径:

    • javax.faces-2.1.26.jar
    • jstl-1.2.jar

  3. 创建了一个 Servlet 2.5 兼容web.xml和一个weblogic.xml(1.0)。

  4. 包括在weblogic.xml

    <library-ref>
        <library-name>jsf</library-name>
        <specification-version>2.0</specification-version>
        <implementation-version>1.0.0.0_2-0-2</implementation-version>
        <exact-match>false</exact-match>
    </library-ref>
    
    <container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
    
  5. 对于 EL 2.1 中类似 EL 2.2 的方法参数支持,我添加了这个 JAR:

    • jboss-el-2.0.0.GA.jar

  6. 并将其放在web.xml

    <context-param>
        <param-name>com.sun.faces.injectionProvider</param-name>
        <param-value>
            com.sun.faces.vendor.WebContainerInjectionProvider
        </param-value>
    </context-param>
    

在所有这些更改之后,WebLogic 控制台仍然在说以下内容:

为上下文初始化 Sun 的 JavaServer Faces 实现 (1.2_03-b04-FCS)

如您所见,它仍在使用 JSF 1.2。我还能做些什么来充分使用 JSF 2?

4

1 回答 1

0

好吧,在做了一些测试之后,我真的在使用 JSF 2!所以是的,这足以使 Weblogic 10.3.0 与 JSF 2 一起工作。我不记得我是否摆脱了“初始化 JSF 1.2”消息,我建议忽略它

于 2013-11-26T14:08:13.503 回答