而是在后台触发 ajax 民意调查。
这是一个在jQuery的帮助下的SSCCE。只需复制'n'粘贴'n'运行它(并更改闪存对象以适合您的实际代码)。
<!doctype html>
<html lang="en">
<head>
<title>SO question 2290101</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function() {
$.get('poll');
}, ${(pageContext.session.maxInactiveInterval - 10) * 1000});
});
</script>
</head>
<body>
<object type="application/x-shockwave-flash" ... >
...
</object>
</body>
</html>
这里${pageContext.session.maxInactiveInterval}
返回会话尚未存在的剩余秒数(并且被缩短了一点 - 只是为了及时进行轮询 - 并转换为毫秒,以便符合setInterval()
预期)。$.get('poll')
应该调用一个映射在url-pattern
of上的 servlet,该servlet/poll
基本上包含方法中的以下行doGet()
。
request.getSession(); // Keep session alive.
而已。