3

Primefaces 3.5 JSF 2.1

我正在使用 p:remoteCommand 执行异步命令并在页面加载后更新我的视图,但看起来在每次迭代结束时它会再次执行等等......

这种行为正确吗?

如何只执行一次 p:remoteCommand?

更新

我检查了我的 remoteCommand 是否不在更新面板中,所以感谢您的回答,但它已经可以了。我如何解决我的问题:

我不知道为什么,但使用来自 Omnifaces ( http://showcase.omnifaces.org/components/onloadScript ) 的 onloadScript 来调用它被多次调用的 remoteCommand 函数,但使用 $(document).ready ...仅一次。所以,我改变了它并让它现在工作。

4

2 回答 2

4

如果您最终陷入类似行为的无限循环,您可能会将父组件更新为您的<p:remoteCommand>.

<h:form id="myform">
    <p:remoteCommand update="myform" actionListener="#{remoteCommandView.execute}" />
    ...
</h:form>

将它放在您要更新的组件之外/旁边,一切都会好起来的。

<h:form id="newform">
<p:remoteCommand update="myform" actionListener="#{remoteCommandView.execute}" />
</h:form>
<h:form id="myform">
...
</h:form>
于 2014-06-01T15:01:34.667 回答
4

以单独的形式使用p:remoteCommand
使用process="@this"and partialSubmit="true",只是为了更安全。

于 2014-06-02T09:13:13.480 回答