【发布时间】:2013-05-23 13:00:49
【问题描述】:
我正在尝试按顺序将数据发送到网页,我确实知道 HTML 是如何工作的,并且最可能的答案是 ajax,但要求是只能使用 java 和 html。页面通常在其容器中编译,然后将输出作为响应发送到浏览器,我想做类似以下的事情,而不使用 AJAX。
这必须发送日期并将其打印回浏览器而不加载所有 5 个日期...例如,新日期必须每 5 秒出现在网页上,而不是全部在 25 秒内出现。
有什么想法吗?
for (int i = 1; i <= 5; i++) {
out.println("<p>#" + i + " " + new Date() + "</p>");
out.flush();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
}
}
【问题讨论】:
-
隐藏那些
<p>s 然后通过javascript显示出来怎么样。否则我认为这里没有任何简单的解决方案。 Servlet 不使用魔法;)它们依赖于 HTML 的单向性,但您知道这一点。 -
无法隐藏它们,我必须在生成数据时将其打印出来。不使用 ajax 或 javascript .... 但据我所知,这不能仅使用 HTML 来完成....
-
HTML 是一种文档描述语言。让它感觉活着的一切都是javascript。 HTML5 正在反对这一点,你仍然需要 javascript 来实现重要的事情。为什么不允许使用 AJAX 或 JS?
-
Comet is an umbrella term, encompassing multiple techniques for achieving this interaction. All these methods **rely on features included by default in browsers, such as JavaScript**, rather than on non-default plugins.Comet 可以做到这一点,但不知道它是否真的适合。
标签: java servlets asynchronous println