3

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

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>,那么一切正常,但我需要a4jbecause ofoncomplete属性。

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

4

1 回答 1

1

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

例如:

<!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 在某种程度上被<button>IE7 中的标签弄糊涂了,导致向服务器发送无效帖子。

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

查看以下 JIRA 帖子以获取更多信息。

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

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

在 RichFaces 上的 Pavol Pitonak 发现,如果你添加一个name属性,<button>那么错误就会消失。

于 2013-01-02T18:42:15.443 回答