【发布时间】:2017-04-04 05:48:41
【问题描述】:
我正在使用Primefaces 5.1 开发一个项目。
在我的项目中,我使用了p:idleMonitor,在我的开始按钮上单击p:idleMonitor rendered="true" is working。
在我的停止按钮上单击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()”函数
标签: jsf primefaces