Jsf 使用RemoteCommand通过JavaScript传递对象
我们正在尝试通过primefaces extensions remoteCommand传递对象,如下所示:Jsf 使用RemoteCommand通过JavaScript传递对象,jsf,primefaces,primefaces-extensions,remotecommand,Jsf,Primefaces,Primefaces Extensions,Remotecommand,我们正在尝试通过primefaces extensions remoteCommand传递对象,如下所示: function dispatchOurObject(ourObject) { sendMessageToServer(ourObject); } 这是我们的remoteCommand标记: <pe:remoteCommand name="sendMessageToServer" process="@this"
function dispatchOurObject(ourObject) {
sendMessageToServer(ourObject);
}
这是我们的remoteCommand标记:
<pe:remoteCommand name="sendMessageToServer" process="@this"
actionListener="#{ourController.dispatchOurObject}">
<pe:methodSignature
parameters="com.package.OurObject" />
<pe:methodParam name="ourObject">
<pe:convertJson />
</pe:methodParam>
</pe:remoteCommand>
这是我们得到的错误:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2
编辑:
在com.google.gson.gson.fromJson(gson.java:803)
我们的对象看起来怎么样?它是否具有与java对象对应的javascript属性?在PrimeFaces扩展示例中,它们通过Json.stringify
转换为Json格式。你有这样的转换吗?当我们调试javascript代码时,我们可以在我们的对象中看到正确的内容,因此它与我们的Java对象相对应。异常说它在第1行需要BEGIN_对象,所以应该有{
,但有BEGIN_数组,它是[
。你能发送json吗?另外请检查。@Geinmachi我无法获取json,因为它是这样做的:ourObject
看起来如何?它是否具有与java对象对应的javascript属性?在PrimeFaces扩展示例中,它们通过json.stringify
转换为json格式。你有这样的转换吗ion?当我们调试javascript代码时,我们可以在我们的对象中看到正确的内容,因此它与我们的Java对象相对应。异常表示它在第1行需要BEGIN_对象,所以应该有{
,但有BEGIN_数组,它是[
。你能发布发送的json吗?另外请检查。@Geinmachi我无法获取json,因为它是由以下程序完成的:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2