我们有一个典型的JSP + Servlets应用程序,当页面中的数据需要一段时间加载时,我们希望显示“内容正在加载”之类的消息。
有什么简单的方法可以通过JS做到这一点吗?
设想情况:
在这30秒的时间里,我想展示一个旋转器或一些信息。
添加ajax或jquery将需要进行设计更改,而我们现在不能这样做。虽然应用程序已经将jQuery用于其他方面,但是b.jsp正在从该页面进行DB调用.
发布于 2010-07-18 17:29:13
在jsp中调用DB会受到很大的反对。考虑到问题的前提,你可以
//b.jsp
<div id="msg">data is loading...</div>
<%
out.flush();
db.performanLengthJob();
%>
<script> $("msg").remove(); </script>
<p>Data is loaded!</p>发布于 2010-07-18 16:33:58
AJAX就是这样做的。您需要服务器端的一些东西来帮助您跟踪进度。
发布于 2010-07-18 16:35:07
用ajax请求加载数据(在b.jsp中)。
创建一个开始加载的JS函数,让它显示您的消息(“30秒后”),然后让它执行ajax请求来加载必要的数据。
我建议您使用一些js框架,比如jQuery,这样会使事情变得更简单。
为了在服务器端处理ajax请求,您需要再创建一个servlet,并将其映射到一些url中,比如your_app_name/ajaxsupport。这个servlet应该以某种方便的格式返回数据(可以是纯文本、xml、JSON或其他什么)。在客户机上,您将处理接收到的数据并显示出来。
https://stackoverflow.com/questions/3276310
复制相似问题