繁体   English   中英

JSF 2.0 AJAX调用失败

[英]JSF 2.0 AJAX Calls Failing

我正在做一个项目,以使用JSF1.2,JSP,Struts,Tiles,Richfaces来使用现有项目……仅使用JSF2.0,内置facelets支持并将Richfaces更新到版本4。

到目前为止,除了一个主要的路障之外,其他一切进展顺利。 我正在尝试将以前使用<a4j:support>标记处理的AJAX组件更新为<f:ajax>标记,而不是按照我希望的方式工作,我遇到了一个错误,我只能解释因为我忘记了一切配置方面的东西。

这是在com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter()方法中引发的NullPointerException。

第一次加载页面时,我可以在调试器中看到正确绑定到支持值的组件。 页面加载无任何意外。 当我尝试激活所述组件上的AJAX事件时,它会崩溃。 我收到错误消息,并且没有通过AJAX更新任何内容。 我尝试转换的每个AJAX组件都在发生这种情况。 这是一个这样的例子:

        <h:selectOneMenu
        value="#{userSession.selectedNetwork}"
        id="network"
        >
        <f:selectItems value="#{userSession.networkUIOptions}" />
        <f:ajax event="change" render="selectedStation edit_site_button add_site_button"/>
    </h:selectOneMenu>

我不知道这是否相关,但是我在该代码中引用的Bean现在被注释为ala JSF2.0并已从faces-config.xml中删除,但是,我还没有完全摆脱掉faces- config.xml中。 仍在努力转换所有内容。 另外,我正在Tomcat 6.0上运行它。

任何帮助,建议将不胜感激。 我真的陷在这个问题上了。

编辑1:

按照我下载的捆绑包标题使用mojarra 2.1.1版。 无法获取准确的堆栈跟踪。 更改了许多内容后,日志似乎无法正常工作。 将继续尝试。 也将尝试简单的页面并报告结果。

编辑2:因此,尝试“最小化”页面会产生相同的结果,相同的错误。

仍然无法使日志记录完全正确地工作,因此进行了一些贫民区日志记录。 参见下文,了解类似于正确的堆栈跟踪的内容:

编辑3:好的,用行号更新了贫民窟堆栈跟踪。 您在第一个类的行号上猜对了,就抛出了错误: http : //pastebin.com/49yUDcPM

NPNSessionFilter.java的doFilter函数: http ://pastebin.com/iwG0rcQ6

我在建议下为BalusC创建的测试页: http//pastebin.com/kSeUyj7g

编辑4:

http://tinypic.com/r/2dca0yo/7 http://tinypic.com/r/16jet7s/7

这是WAR的WEB-INF / lib文件夹中当前打包的lib的图像。 以前的程序员包括很多我还没有清除的垃圾。 同样,不确定struts JAR的来源。 删除了我可以找到的与strust或tile相关的所有pre-dist JAR。

编辑5:

好,突破! 这个评论带来了一个与众不同的世界:“同样,不确定struts JAR来自何处。删除了我可以找到的与strust或tile相关的所有pre-dist JAR。”

耳朵清洁,疏远,现在情况更好。 显然,这不仅仅是我忘记删除的一个lib,而是我忘记删除的一个lib,然后在删除之后清理EAR。 AJAX请求现在可以正常处理了,我可以看到调试器中的值在请求通过时被重新绑定! 大量其他问题,但可以自己解决。 BalusC,您使我想到了这个解决方案; 如果您想提交答案,我会很乐意接受!

com.sun.faces.context.PartialViewContextImpl:PartialViewContextImpl.java:createPartialResponseWriter:441上的NullPointerException

此异常表明JSF视图根为null,这反过来又表明,在类路径中有一些针对JSF 1.2的第三方或自定义ViewHandler ,这并非完全适合JSF 2.0,因此也需要升级(或完全删除)。

根据您的屏幕快照以及所有JAR的概述, struts-faces JAR是主要的可疑对象。 但是,Apache Commons和JSTL库的混合版本看起来也不正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM