Wicket 9:允许用户延长会话

Wicket 9: allow user to prolong a session

假设用户会话即将到期。在它到期之前我想给一个机会 给用户延长他/她的会话,即模态 window 要求继续或使会话无效。

如何在 wicket 9 中实现?

在会话即将失效之前是否有任何钩子?

没有这样的钩子! Servlet API 没有提供这样的!

即使有这样的 API 你也必须使用 WebSocket 连接,因为没有 http 请求就不可能从服务器向浏览器发送内容。一个请求将“触及”http 会话并使其存活另一个 N seconds/minutes.

您必须在客户端使用 JavaScript 来实现它。每当发出 Ajax 请求时,使用 setTimeout(showModal, N)clearTimeout() 重置它。您可以使用 Wicket 的 Ajax 挂钩或 jQuery 挂钩来了解何时有 Ajax 请求。

请参阅 https://github.com/reiern70/antilia-bits/tree/master/client-sign-out-parent 获取灵感!