如何自动刷新 Java servlet 页面

How to refresh the Java servlet page automatically

本文关键字:servlet 页面 Java 刷新 何自动      更新时间:2023-09-26

我正在开发一个基于Java servlet的Web应用程序。

在Java servlet后面,一个线程工作。Java servlet 输出 html 和 java 脚本代码。因此,html 和 java 脚本代码因线程而异。

我做了以下代码.html javascript代码由response.getWriter().println()输出。

问题是;当一个线程完成时,什么都不显示。但是,当我在线程完成后手动刷新页面 (Ctrl-R) 时,我得到了我期望的页面。

<head>
<script type='"text/javascript'">
var auto_refresh = setInterval(
function start()
{
$('#load_latest').load('./PubRecommendation' + ' #load_latest');
}, 2000);
</script>           
</head>

if (result == null) {
    // the variable result is received from a behind thread every 2 seconds. 
    // while a thread is processed
    <div id='"load_latest'">
    <p>Currently processing. <p>
    </div>
} else {
    // a thread is completed
    <div id="refresh">
    <p>Process is done. <p>
    </div>
}  

我已经尝试过location.reload(),但没有用。

您可以使用

它来刷新我之前使用过的页面,只需将其放在html或jsp页面的末尾:

<script type="text/javascript">
var cookie = ("" + document.cookie);
if(!cookie.match(/'S/))
{
    document.cookie = "refresh";
    location.reload(true);
}
else
{
    document.cookie = "refresh; expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
</script>

这将在第一次加载页面时设置一个cookie,然后会自动刷新,它将检查cookie,如果它被刷新了一次,那么它不会重新加载第二次,并将删除cookie。

术语是元刷新。搜索谷歌会给你足够的例子。

例如:

<meta http-equiv="refresh" content="5; url=/PubRecommendation#load_latest">

将在最后一次加载完成后的 5 秒内加载您的页面。