我需要 JSP 在会话过期时显示一条警告消息。我使用以下 XML 代码:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
我想这个问题被问了很多次,但我没有找到确切的解决方案。
您可以尝试以下逻辑。
- 创建一个超时,其执行时间 = 会话超时 - 触发警报之前的差异。
- 点击用户事件,如按键、单击等,并将标志 (USER_ACTION) 设置为 true。
- 检查标志 (USER_ACTION) 以确定用户是否执行了操作。如果标志为 false,则显示警报。否则必须导致再次启动超时并将标志 (USER_ACTION) 重置为 false。
只需每 5 秒左右调用一次函数,该函数检查其中一个会话变量并查看其值是否为 null。如果是,您知道会话已过期
setInterval(isTimedOut(), 5000);
function isTimedOut() {
var isLoggedIn = '<%Session["someValue"] != null%>';
if (session == false) {
//display warning here
}
}