Javascript JSF RequestContext未被重置
我得到了一个Primefaces视图,它由一个表单和一个远程命令组成,通过Javascript每100毫秒触发一次Javascript JSF RequestContext未被重置,javascript,jsf,jsf-2,primefaces,Javascript,Jsf,Jsf 2,Primefaces,我得到了一个Primefaces视图,它由一个表单和一个远程命令组成,通过Javascript每100毫秒触发一次 <p:remoteCommand name="pollRemote" actionListener="#asyncJobManagerBean.execute}" oncomplete="handlePollMessage(xhr,status,args);" /> <h:outputScript> window.setInterval(functio
<p:remoteCommand name="pollRemote" actionListener="#asyncJobManagerBean.execute}" oncomplete="handlePollMessage(xhr,status,args);" />
<h:outputScript>
window.setInterval(function(){
pollRemote();
},100);
function handlePollMessage(xhr,status,args) {
console.log("request");
}
</h:outputScript>
<h:form id="myForm">
...
其思想是在bean发生更改时更新表单,而不需要在视图上进行任何用户交互。
这与预期的一样有效,但即使某些更改为false,表单也会不断更新。这会在第一次执行updatemyForm时发生。RequestContext似乎记得表单已经更新过一次,并不断地重复更新
如何使RequestContext在下次调用时忘记更新?My€0.02:错误的处理方式。使用PrimeFaces push而不是轮询,我知道这很常见,但它的实现非常糟糕。我必须处理它。
if(somethingChanged) {
RequestContext.getCurrentInstance().update("myForm");
}