我正在开发一个项目Primefaces 5.1
。PrimeFaces p:idleMonitor呈现=“false”不起作用
在我的项目中,我使用了p:idleMonitor
,在我的开始按钮上点击p:idleMonitor rendered="true"
正在工作。
在我的停止按钮上单击p:idleMonitor rendered="false"
不起作用,p:idleMonitor
仍在处理中。
示例代码:
的index.xhtml
<p:panel id="mainPanelId">
<p:commandButton value="Start" update="mainPanelId" action="{Sample.start}"/>
<p:commandButton value="Stop" update="mainPanelId" action="#{Sample.stop}"/>
<p:idleMonitor timeout="5000" rendered="#{Sample.idleRendered}">
<p:ajax event="idle" oncomplete="PF('dialogId').show();"/>
<p:ajax event="active" oncomplete="PF('dialogId').hide();"/>
</p:idleMonitor>
<p:dialog id="dialogId" widgetVar="dialogId" header="Idle">
<p:outputLabel value="Idle Mode Actived!"/>
</p:dialog>
</p:panel>
Sample.java
class Sample
{
private boolean idleRendered;
public String start()
{
idleRendered = true;
return null;
}
public String stop()
{
idleRendered = false;
return null;
}
}
试过PF 6.0甚至6.1RC2?另一个解决方法是在idleMonitor上使用widgetVar并调用它的'pause()'函数 – Kukeltje