【发布时间】:2015-01-22 15:38:00
【问题描述】:
我正在开发一个基于 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(),但没有成功。
【问题讨论】:
-
你为什么使用
load? -
有两种方法可以做到这一点,一种是拉取(即使用元刷新),然后每 30 秒左右从服务器拉取数据。第二种方法是将数据从您的服务器推送到您的页面,请参阅 Atmosphere Framework Async-IO
标签: java javascript servlets web-applications