Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSF2.0Ajax调用失败_Ajax_Jsf_Facelets - Fatal编程技术网

JSF2.0Ajax调用失败

JSF2.0Ajax调用失败,ajax,jsf,facelets,Ajax,Jsf,Facelets,我正在做一个项目,使用JSF1.2、JSP、Struts、Tiles、Richfaces。。。为了简单地使用JSF2.0,内置的facelets支持将Richfaces更新到版本4 到目前为止,除了一个主要的障碍外,一切都进行得很顺利。我正在尝试更新以前使用 NPNSessionFilter.java的doFilter函数: 我根据建议为BalusC创建的测试页: 编辑4: http://tinypic.com/r/16jet7s/7 下面是当前打包在WAR的WEB-INF/lib文件夹中

我正在做一个项目,使用JSF1.2、JSP、Struts、Tiles、Richfaces。。。为了简单地使用JSF2.0,内置的facelets支持将Richfaces更新到版本4

到目前为止,除了一个主要的障碍外,一切都进行得很顺利。我正在尝试更新以前使用

NPNSessionFilter.java的doFilter函数:

我根据建议为BalusC创建的测试页:

编辑4:

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

下面是当前打包在WAR的WEB-INF/lib文件夹中的lib的图像。以前的程序员包含了很多我还没有清理掉的垃圾。同样,也不确定struts jar来自何处。删除了我能找到的任何与strusts或tiles有关的dist前罐子

编辑5:

好的,突破!这一评论带来了巨大的不同,“同样,也不确定struts JAR来自何处。删除了我能找到的与struts或tiles相关的任何dist前JAR。”

清洁耳朵,重新洗耳恭听,现在一切都好起来了。显然,这不仅仅是我忘记移除的某个lib,而是我忘记移除的一个lib,然后在移除后清理耳朵。AJAX请求现在已经正常通过了,我可以在调试器中看到,当请求通过时,值被重新绑定!其他问题很多,但我可以在自己的时间内处理这些问题。巴卢斯,你引导我找到了这个解决方案;如果你想提交答案,我很乐意接受

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

此异常表示JSF视图根为空,这反过来表明类路径中存在一些JSF 1.2目标第三方或自定义的
ViewHandler
,它们对JSF 2.0的工作不完全正确,因此也需要升级(或完全删除)

根据您对所有JAR的概述截图,
struts faces
JAR是主要嫌疑犯。但是那些ApacheCommons和JSTL库的混合版本看起来也不对

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

此异常表示JSF视图根为空,这反过来表明类路径中存在一些JSF 1.2目标第三方或自定义的
ViewHandler
,它们对JSF 2.0的工作不完全正确,因此也需要升级(或完全删除)


根据您对所有JAR的概述截图,
struts faces
JAR是主要嫌疑犯。但是那些Apache Commons和JSTL库的混合版本看起来也不太合适。

提到确切的Mojarra版本和完整的stacktrace可能会有所帮助。当您使用一个非常简单的ajax表单(如
)创建一个极简页面而没有支持bean时,是否也会发生此错误?@BalusC尽可能更新得最好。将以最少的页面返回给您。@BalusC:现在更新了您要求的大部分详细信息。嗯,这是一个奇怪的跟踪。行号在哪里?发生此异常的行号非常重要。无论如何,在看过Mojarra 2.1.1的源代码之后,我最好的猜测是442行。
NPNSessionFilter
到底在做什么?当您测试最小代码示例时,是否将所有的Tile/richfaces/struts标记都保留在Facelets页面上?@BalusC:使用pastebins更新到相关的NPNSessionFilter代码、更新的堆栈跟踪(带行号)和测试页面标记。此外,NPNSessionFilter的主要目的是在每个请求上运行一些自定义访问控制代码,但它往往会捕获应用程序中发生的任何恶意错误,因此我能够在那里捕获错误。同样仅供参考,我尝试更新到Mojarra 2.1.2,但没有改变AFAICT。此外,再次尝试测试页面,但没有参考richfaces、tomahawk或trinidad。不过,同样的结果。提及准确的Mojarra版本和完整的stacktrace可能会有所帮助。当您使用一个非常简单的ajax表单(如
)创建一个极简页面而没有支持bean时,是否也会发生此错误?@BalusC尽可能更新得最好。将以最少的页面返回给您。@BalusC:现在更新了您要求的大部分详细信息。嗯,这是一个奇怪的跟踪。行号在哪里?发生此异常的行号非常重要。无论如何,在看过Mojarra 2.1.1的源代码之后,我最好的猜测是442行。
NPNSessionFilter
到底在做什么?当您测试最小代码示例时,是否将所有的Tile/richfaces/struts标记都保留在Facelets页面上?@BalusC:使用pastebins更新到相关的NPNSessionFilter代码、更新的堆栈跟踪(带行号)和测试页面标记。此外,NPNSessionFilter的主要目的是在每个请求上运行一些自定义访问控制代码,但它往往会捕获应用程序中发生的任何恶意错误,因此我能够在那里捕获错误。同样仅供参考,我尝试更新到Mojarra 2.1.2,但没有改变AFAICT。此外,再次尝试测试页面,但没有参考richfaces、tomahawk或trinidad。但是,同样的结果。除了@BalusC关于删除不需要的库的观点外,这里的另一个教训是,在对支持库进行重大更改时,确保在构建项目的基础框架之前清理项目。否则,这些不需要的项目可能会像我一样挥之不去,引起头痛。除了@BalusC关于删除不需要的库的观点外,这里的另一个教训是,在构建项目的基础框架,即支持库进行重大更改时,确保在构建之前清理项目。否则,那些不需要的项目可能会拖延
        <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>