如何在Primefaces中重置idleMonitor的空闲计数器

时间:2015-04-08 04:22:12

标签: jsf jsf-2 primefaces

我在主要面孔中配置了idleMonitor,如下所示。

<!-- Idle Counter - 20 minutes(1200000 milliseconds) -->
<p:idleMonitor timeout="1200000" onidle="PF('idleDialog').show();" />
<p:confirmDialog id="confirmDialog"
    message="You have been idle for 20 minutes and your session is expired. Please Login again."
    header="Session Expired" severity="alert" widgetVar="idleDialog" closable="false" closeOnEscape="false" >
        <h:panelGroup layout="block" style="text-align:center">
            <h:outputLink value="${request.contextPath}/j_spring_security_logout">Click Here to Login</h:outputLink>
        </h:panelGroup>
</p:confirmDialog>

我不知道但是不知怎的,idleMonitor并没有重置它的值而且idleMonitor计数器继续运行并且在我正在工作的UI中间时,弹出窗口出现并说我的会话已注销。我不知道上面的代码有什么问题,但不知何故,当我在UI上工作时,空闲计数器不会重置。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

手动重置空闲:

<p:idleMonitor widgetVar="idle" timeout="300" onidle="alert('OK')" />

<p:commandButton value="reset" onclick="PF('idle').reset()" global="false"/>

你也可以:

<p:commandButton value="pause" onclick="PF('idle').pause()" />
<p:commandButton value="resume" onclick="PF('idle').resume()" />