【问题标题】:jsf 2.0 working with javascript prevents ajax calljsf 2.0 与 javascript 一起使用可防止 ajax 调用
【发布时间】:2012-07-03 23:34:44
【问题描述】:

我正在开发一个 JSF 2 项目。在调用所有这些函数<a4j:commandButton> 后,在客户端获得了一些 javascript/jQuery 函数不起作用。我明白了

Servlet.service() for servlet Faces Servlet threw exception: java.lang.NullPointerException 
    at com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:441)

如果我将<a4j:commandButton> 更改为<h:commandButton>,那么一切正常,但我需要a4j,因为oncomplete 属性。

如何调试此问题?它看起来像 javascript 事件的问题,它阻止了 ajax 调用。

【问题讨论】:

  • 我认为这是一个 IE7 / JBoss 问题。我在这里找到了一点信息(code.google.com/p/primefaces/issues/detail?id=4361
  • 请编辑问题以包含完整的 SSCCE。失败的可能因素太多了。
  • 我不确定这个问题是否适合 StackOverflow。我已经创建了 JIRA 条目,一个用于 Mojarra,一个用于 RichFaces,因为尚不清楚问题出在哪里。 (java.net/jira/browse/JAVASERVERFACES-2666) 和 (issues.jboss.org/browse/RF-12693) 我提供了更多信息。 @BalusC,我应该在这个问题中添加这种信息,还是应该删除赏金(如果可以的话)?
  • 提供你的代码来理解,这还不够。
  • @jubinPatel 感谢您的建议。我添加了一个编辑,但它被拒绝了。我将尝试创建一个战争文件并将其添加到 JIRA 中。完成后,我将再次尝试编辑问题。

标签: jquery jsf-2 richfaces


【解决方案1】:

我已经追踪到这个问题,以确定它是由于 html 中的 <button> 标记造成的。

例如:

<!DOCTYPE html>
<html lang="en" 
xmlns="http://www.w3.org/1999/xhtml" 
xmlns:h="http://java.sun.com/jsf/html" 
xmlns:a4j="http://richfaces.org/a4j">
<h:head>
</h:head>
<h:body>
    <h:form id="example">
        <a4j:commandButton type="submit" value="Submit" />
        <button>button</button>
    </h:form>
</h:body>
</html>

我的理论是提交 AJAX 的 JavaScript 不知何故被 IE7 中的 &lt;button&gt; 标记弄糊涂了,导致向服务器发送无效的帖子。

没有看到您的 HTML,我无法确定这是您的问题。

查看以下 JIRA 帖子了解更多信息。

http://java.net/jira/browse/JAVASERVERFACES-2666

https://issues.jboss.org/browse/RF-12693

RichFaces 的 Pavol Pitonak 发现,如果将 name 属性添加到 &lt;button&gt;,那么错误就会消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2015-01-17
    相关资源
    最近更新 更多