Jsf 会话到期实时剩余时间

Jsf 会话到期实时剩余时间,jsf,session,Jsf,Session,在JSF2.0上下文中,session.getMaxInactiveInterval()以静态方式返回会话过期剩余时间。 是否存在允许实时显示剩余时间的解决方法? 类似于系统线程的东西 在我的Web应用程序中,我使用的是primeFaces组件(一个模式对话框),它在用户处于非活动状态(TMOUT)一段时间后显示自己,并显示一条消息“你在吗?”。 实际上,我想在该对话框中添加如下内容: <h:outputText id="remainder" value="#{sessionEar.max

在JSF2.0上下文中,
session.getMaxInactiveInterval()
以静态方式返回会话过期剩余时间。 是否存在允许实时显示剩余时间的解决方法? 类似于系统线程的东西

在我的Web应用程序中,我使用的是primeFaces组件(一个模式对话框),它在用户处于非活动状态(TMOUT)一段时间后显示自己,并显示一条消息“你在吗?”。 实际上,我想在该对话框中添加如下内容:

<h:outputText id="remainder" value="#{sessionEar.maxInactiveInterval}" >
<f:ajax execute="@form" render="remainder"  event="????"/>
</h:outputText>

因此,我们的想法是每5秒或每60秒重新渲染一次
(1分钟:假设实时显示秒并不那么容易)!以便在会话到期之前更新剩余时间


我该怎么做?否则,您有更好的解决方案吗?

我建议使用基于javascript的计时器,从读取#余数的值开始。这样你就不必为了请求新的时间而往返了

var interval=setInterval('updateSessionTimer()',1000);  // every second
var remainder = document.getElemetById('remainder');
function updateSessionTimer()
{
    secondsLeft = parseInt( remainder.innerText );
    remainder.innerHTML = secondsLeft-1;
}

我建议使用一个基于javascript的计时器,从读取#余数的值开始。这样你就不必为了请求新的时间而往返了

var interval=setInterval('updateSessionTimer()',1000);  // every second
var remainder = document.getElemetById('remainder');
function updateSessionTimer()
{
    secondsLeft = parseInt( remainder.innerText );
    remainder.innerHTML = secondsLeft-1;
}

我完成了使用PrimeFaces Poll组件的工作,该组件是直线拟合的

<p:poll interval="1"  update="remainder" />

我使用了PrimeFaces Poll组件,该组件是直配的

<p:poll interval="1"  update="remainder" />


这种方式对我来说并不奏效,但我使用了你的函数来创建一个实时时钟,使用了它对我来说并不奏效,但我使用了你的函数来创建一个实时时钟,使用了