gpt4 book ai didi

JSF 1.2 应用程序无法与 GlassFish v3 配合使用

转载 作者:行者123 更新时间:2023-12-02 08:34:30 24 4
gpt4 key购买 nike

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

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

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exceptionjava.lang.IllegalArgumentException: In AbstractTreeDataModel rowIndex must be -1.        at org.richfaces.model.AbstractTreeDataModel.setRowIndex(AbstractTreeDataModel.java:52)        at org.ajax4jsf.component.UIDataAdaptor.setRowIndex(UIDataAdaptor.java:289)        at javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544)        at javax.faces.component.UIData.visitTree(UIData.java:1212)        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)        at javax.faces.component.UIForm.visitTree(UIForm.java:333)        at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)        at javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:869)        at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:439)        ....

在我的另一页上,类似的事情正在发生。它包含 <h:selectManyCheckbox> ,它会在值发生变化时重新渲染一些其他内容。因此,在提交的情况下,我会得到如下内容:

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

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

如有任何帮助,我们将不胜感激!

最佳答案

Glassfish v3 捆绑了 JSF 2.0,因此这可能会造成问题。如果您想将 JSF 1.2 与 Glassfish v3 一起使用,则必须在 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>

关于JSF 1.2 应用程序无法与 GlassFish v3 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com