我们有一个经典的JSP + Servlets应用程序,并希望在页面中的数据需要一段时间加载时显示“内容正在加载”类型的消息。
通过JS有一种简单的方法吗?
情景:
对于那些我要显示微调器或某些消息的30秒。
添加ajax或jquery需要进行设计更改,这是我们现在无法做到的。虽然应用程序已经将jQuery用于其他东西,但是b.jsp正在从该页面进行数据库调用...
答案 0 :(得分:1)
AJAX就是这样做的。您需要服务器端的某些内容来帮助您跟踪进度。
答案 1 :(得分:1)
在jsp中调用DB会非常不满意。考虑到问题的前提,你可以
//b.jsp
<div id="msg">data is loading...</div>
<%
out.flush();
db.performanLengthJob();
%>
<script> $("msg").remove(); </script>
<p>Data is loaded!</p>
答案 2 :(得分:0)
使用ajax请求加载数据(在b.jsp中)。
创建一个在加载时启动的JS函数,让它显示你的消息('30秒'),然后让它执行ajax请求来加载必要的数据。
我建议你使用一些js-framework,比如jQuery,它会让事情变得更简单。
为了在服务器端处理ajax-request,您需要再创建一个servlet并将其映射到某个URL,如your_app_name/ajaxsupport
。这个servlet应该以一种方便的格式返回数据(它可以是纯文本,xml,或JSON或其他任何东西)。在客户端,您将处理收到的数据并显示它。
答案 3 :(得分:0)
快速解决方案可以是使用你的基页html body s.g的onbeforeunload JS事件。像
<body onbeforeunload="$("yourComponent").show();">