如何自动刷新Java servlet页面

时间:2014-11-24 19:55:46

标签: java javascript servlets web-applications

我正在开发一个基于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(),但它没有用。

2 个答案:

答案 0 :(得分:0)

您可以使用它来刷新我使用过的页面,然后将它放在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,如果它已被刷新一次,那么它将不会第二次重新加载并删除co​​okie。

答案 1 :(得分:0)

这个词是Meta Refresh。搜索Google会为您提供足够的示例。

例如:

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

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