我有一个 Wicket 6.10.0 Web 应用程序。我想实现一个计时器来显示当前用户会话中的剩余时间。链接这个:http: //jsfiddle.net/justinobney/uZMGD/
Label
我的页面页脚中有一个检票口。此标签使用 JavaScript 将时间从例如 5 分钟倒计时到 0 分 0 秒。每次请求都应刷新此倒计时(标签)。
现在的问题是如何做到这一点?
在init()
我添加的方法中,AbstractRequestCycleListener
它会通知我每个结束请求,如下所示:
getRequestCycleListeners().add(new AbstractRequestCycleListener() {
@Override
public void onEndRequest(RequestCycle cycle) {
super.onEndRequest(cycle);
System.out.println("End Request - here i would like to refresh somehow the label");
}
});
但我不知道如何将此消息发送到标签以刷新自身。有任何想法吗?
*编辑:* 我有一个SPA:
<body>
lots of AJAX components here
<div wicket:id="footer">Footer always stays here. <br />
Session timeout in: <span wicket:id="sessionTimeoutLabel">countdown here</span>
</div>
</body>
倒计时有点像这样:http: //jsfiddle.net/justinobney/uZMGD/
现在,在每个 AJAX 请求上,我都需要sessionTimeoutLabel
重新渲染标签以开始从 600 秒到 0 的计数。