3

I'm working on a JSF 2 project. Got some javascript/jQuery functions on client side, after calling for all these functions <a4j:commandButton> is not working. I get

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

If I change <a4j:commandButton> to <h:commandButton>, then everything works fine, but I need the a4j because of oncomplete attribute.

How can I debug this issue? It looks like problem with javascript event, that prevents ajax call.

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 に答える