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
Jsf p:remoteCommand返回<;评估>;两次ajax响应_Jsf_Primefaces - Fatal编程技术网

Jsf p:remoteCommand返回<;评估>;两次ajax响应

Jsf p:remoteCommand返回<;评估>;两次ajax响应,jsf,primefaces,Jsf,Primefaces,我尝试在新窗口(或选项卡)中使用从自动完成组件中的选定页面对象获得的链接呈现新页面。 在尝试了多个选项之后,我认为唯一的机会是使用javascript捕获提交,触发一个远程命令,该命令使用页面对象的link属性调用javascript JSF Snipplet(在自动完成中减少属性) 行动的一部分 public void showPage() { RequestContext context = RequestContext.getCurrentInstance(); conte

我尝试在新窗口(或选项卡)中使用从自动完成组件中的选定页面对象获得的链接呈现新页面。 在尝试了多个选项之后,我认为唯一的机会是使用javascript捕获提交,触发一个远程命令,该命令使用页面对象的link属性调用javascript

JSF Snipplet(在自动完成中减少属性)

行动的一部分

public void showPage() {
    RequestContext context = RequestContext.getCurrentInstance();
    context.execute("openLink('" + selectedPage.getLink() + ".xhtml')");
}
一切都很好地协同工作,但响应包含eval标记两次

<partial-response>
<changes>
<update id="javax.faces.ViewState"><![CDATA[2851816213645347690:-2276123702509360418]]></update>
<eval><![CDATA[openLink('target.xhtml');]]></eval>
<eval><![CDATA[openLink('target.xhtml');]]></eval>
</changes>
</partial-response>

我尝试了不同的重定向或返回视图名称的方法,但都没有令人满意的解决方案(例如URL未更改或没有新窗口)。

问题解决: 我以前在faces配置中定义过
PrimePartialViewContextFactory

<factory>
  <partial-view-context-factory>org.primefaces.context.PrimePartialViewContextFactory</partial-view-context-factory>
 </factory>

org.primefaces.context.PrimePartialViewContextFactory
通过删除它,应用程序的行为与预期的一样

这也解决了数据表中分页和排序的问题(
JSON.parse:JSON数据后意外的非空白字符

<partial-response>
<changes>
<update id="javax.faces.ViewState"><![CDATA[2851816213645347690:-2276123702509360418]]></update>
<eval><![CDATA[openLink('target.xhtml');]]></eval>
<eval><![CDATA[openLink('target.xhtml');]]></eval>
</changes>
</partial-response>
<factory>
  <partial-view-context-factory>org.primefaces.context.PrimePartialViewContextFactory</partial-view-context-factory>
 </factory>