如何在XPages-SSJS中获取Domino服务器的会话超时。我想在会话到期之前提示用户保存他/她的数据。谢谢
发布于 2013-09-10 19:31:37
服务器仅在用户向服务器发出请求时才与用户通信。
因此,如果用户没有请求信息,服务器就无法将信息发送给用户。
例如:
这正是HTTP流量的工作方式。然而,有一些方法可以解决这个问题,通过更改上面的示例,我将向您展示最简单的方法之一:
setTimeout函数,该函数被设置为在服务器javascript的会话5分钟结束之前触发,并且同样,用户没有请求任何进一步的页面。因此,用户会话结束,服务器无法将此消息传递给用户。然而,页面上的javascript知道服务器上的会话将到期,并发出警告,告诉用户保存他们的工作。发布于 2013-09-10 19:39:39
在SSJS中,您可以使用以下代码获取SessionTimeout的设置:
facesContext.getApplication().getApplicationProperty("xsp.session.timeout", "30");但这是一个静态值(分钟)。会话在当前会话的最后一次请求后X分钟(默认为30分钟)内过期。
发布于 2013-09-11 19:08:48
服务器和客户端之间的每次交互都会重置超时。因此,可以做的基本上是在客户端进行倒计时,在每次新请求后重置。并且这也可以被客户端用来在实际会话超时之前的定义时间内触发保存交互。
这是否有意义是有争议的。或者,也可以实现自动保存。
https://stackoverflow.com/questions/18717454
复制相似问题