【问题标题】:JSF 1.2 app not working with GlassFish v3JSF 1.2 应用程序不适用于 GlassFish v3
【发布时间】:2011-01-20 22:59:51
【问题描述】:

迁移到 GlassFish v3 / JDK6u18 / NB6.8 让我很头疼,现在我很困惑。我的项目(JSF、RichFaces、Spring)适用于 GlassFish v2 + JDK6u17。我正在使用相同的 JAR 和相同的 JSF 版本。

我的一个 JSP 包含一个 <rich:tree>,这渲染得很好,但如果我在此页面上发布值,我会得到:

警告:StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet 抛出异常 java.lang.IllegalArgumentException:在 AbstractTreeDataModel 中,rowIndex 必须为 -1。 在 org.richfaces.model.AbstractTreeDataModel.setRowIndex(AbstractTreeDataModel.java:52) 在 org.ajax4jsf.component.UIDataAdaptor.setRowIndex(UIDataAdaptor.java:289) 在 javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544) 在 javax.faces.component.UIData.visitTree(UIData.java:1212) 在 javax.faces.component.UIComponent.visitTree(UIComponent.java:1457) 在 javax.faces.component.UIForm.visitTree(UIForm.java:333) 在 javax.faces.component.UIComponent.visitTree(UIComponent.java:1457) 在 javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:869) 在 org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:439) ……

在我的其他页面上,发生了类似的事情。它包含一个<h:selectManyCheckbox>,它会在值更改的情况下重新呈现一些其他内容。因此,在提交的情况下,我会得到如下信息:

警告:StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet 抛出异常 java.lang.NullPointerException 在 javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:564) 在 org.ajax4jsf.component.EventValueExpression.getComponent(EventValueExpression.java:77) 在 org.ajax4jsf.component.EventValueExpression.getValue(EventValueExpression.java:130) 在 javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:2166) 在 com.sun.faces.renderkit.RenderKitUtils.renderPassThruAttributesOptimized(RenderKitUtils.java:608) 在 com.sun.faces.renderkit.RenderKitUtils.renderPassThruAttributes(RenderKitUtils.java:321) 在 com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.renderOption(SelectManyCheckboxListRenderer.java:328) 在 com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:177) 在 javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878) ……

我尝试过结合 JSF/RichFaces 的版本,但结果都是一样的。

任何帮助将不胜感激!

【问题讨论】:

    标签: jsf glassfish richfaces java


    【解决方案1】:

    Glassfish v3 捆绑了 JSF 2.0,所以这可能会造成麻烦。如果您想在 Glassfish v3 中使用 JSF 1.2,您必须在 WEB-INF 文件夹中添加一个 sun-web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish
    Application Server 3.0 Servlet 3.0//EN"
    "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
    <sun-web-app>
        <class-loader delegate="false"/>
        <property name="useBundledJsf" value="true"/>
    </sun-web-app>
    

    【讨论】:

      【解决方案2】:
      Exceptiion Trace :-
      On thread: 'WebContainer : 0'
      com.ibm.websphere.servlet.error.ServletErrorReport: java.lang.NoSuchMethodError: javax/faces/component/UIViewRoot.getComponentResources&#40;Ljavax/faces/context/FacesContext&#59;Ljava/lang/String&#59;&#41;Ljava/util/List&#59;
          at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1764)
          at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)
          at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
      

      我使用了以下依赖项

      commons-codec-1.3.jar
      commons-httpclient-3.1.jar
      cssparser-0.9.5.jar
      guava-r07.jar
      jsf-api-2.0.6-FCS.jar
      jsf-impl-2.0.6-FCS.jar
      jsr250-api-1.0.jar
      richfaces-components-api-4.2.0.Final.jar
      richfaces-components-ui-4.2.0.Final.jar
      richfaces-core-api-4.2.0.Final.jar
      richfaces-core-impl-4.2.0.Final.jar
      sac-1.3.jar
      

      解决方案:如果您使用 WebSphere 7.0 应用服务器,您必须更改以下设置

      1)启动 WebSphere 7.0 2)以管理员身份运行 3)server-->websphere应用服务器-->server1--(打开我们的应用EAR文件)

      4) 类加载器策略下拉更改为“多个”

      5)类加载模式下拉更改为“首先使用本地类加载器加载的类(最后是父类)

      它将启动应用程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-01
        • 2011-05-11
        • 1970-01-01
        • 1970-01-01
        • 2015-01-01
        • 1970-01-01
        • 2018-01-01
        • 1970-01-01
        相关资源
        最近更新 更多