50分求一个页面加载的效果~~条件比较苛刻..特殊.... 本帖最后由 phh1989 于 2009-08-07 09:29:02 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 点菜单后先显示一个页面,然后再提交一个form到这个页面,这样就不会有问题了。有一些开源的ui组件,做个进度条都可以的,很简单了。 最简单的方法 你可以做个DIV层 这个层覆盖整个页面 进来默认是显示该层 然后显示一个动态 loading.... 的图片 提示用户加载中请稍后。然后你自己估计一个大概时间 用JS做一个定时器 呵呵 你估计数据刷出来了 你就把这个层自动隐藏起来。这时你的数据其实已经出来了 给用户的感觉就是你要的效果了吧 呵呵 LS这个方法在这里不可行...都说要在点击后就必须显示了...现在不是进去页面慢...现在是后台处理速度慢,现在的状况是等了一会,整个页面出来了...所以必须是点击后就在右框架显示loading,当页面出现后loading消失.... 写一个等待页面,自己找个等待的图片!PleaseWait.jsp<%String loading=""; loading="<div id='loading' style='position:absolute; visibility:visible; width: 100%; height: 100%; z-index:65536'>" +"<form name=loads> <table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'>" +"<tr>" +"<td align=center><img src=Images/c_load.gif ></td>" +"</tr>" +"</table></form>" +"</div>"; out.print(loading); out.flush(); %>在其他页面引用<%@ include file="PleaseWait.jsp"%> <html> <head> <title></title> <script type="text/javascript"> var url = http://www.google.cn'; </script> <style> .loading-indicator { font-size:8pt; background-image:url(images/loading/loading.gif); background-repeat: no-repeat; background-position:top left; padding-left:20px; height:18px; text-align:left; } #loading{ position:absolute; left:45%; top:40%; border:3px solid #B2D0F7; background:white url(images/loading/block-bg.gif) repeat-x; padding:10px; font:bold 14px verdana,tahoma,helvetica; color:#003366; width:180px; text-align:center; } </style> <div id="loading"> <div class="loading-indicator"> 页面正在加载中... </div> </div> </head> <body onLoad="location.href = url;" style="overflow:hidden;overflow-y:hidden"> </body> <script> if(document.layers) { document.write('<Layer src="' + url + '" visibility="hide"></Layer>'); } else if(document.all || document.getElementById) { document.write('<iframe src="' + url + '" style="visibility:hidden;"></iframe>'); } else { location.href = url; } </script> </html> 如果说是后台数据库大而导致访问慢,那LZ不如去改进数据库的算法如果使用页面加载效果作出一个页面来让用户等待,那和什么都没有在那卡者的效果差不多难道加了页面就不慢了么?所以还是改进数据库的访问方式吧如果每次操作都去访问后台数据库,或者遍历一遍,如果数据量大那肯定很慢建议LZ使用lucene建立数据库索引,以后直接通过索引拿数据,效率要比你现在的高N倍,也不用费事作页面加载了使用lucene也不难,LZ可以参考一下 在jsp页面上怎么通过checkbox来实现删除多条记录 一个棘手的问题 ,求解 求助:java web打印问题 JQuery实现弹出框,显示后台抛的异常消息 LIST问题 struts上传文件的问题,着急,请帮帮忙看看啊 jasperreports做的报表以html显示后,在客户端怎么打印出来啊 tomcat5.5不认jsp中代码 如何通过程序重启某个服务? 急!!!请问各位高手 java.lang.NullPointerException 这是什么错误,怎么排除? 在下多谢了! 不同类型的数据库同步不用触发器该用什么方法? 有谁在用 《FreeMark》?
PleaseWait.jsp
<%
String loading="";
loading="<div id='loading' style='position:absolute; visibility:visible; width: 100%; height: 100%; z-index:65536'>"
+"<form name=loads> <table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'>"
+"<tr>"
+"<td align=center><img src=Images/c_load.gif ></td>"
+"</tr>"
+"</table></form>"
+"</div>";
out.print(loading);
out.flush();
%>
在其他页面引用
<%@ include file="PleaseWait.jsp"%>
<head>
<title></title>
<script type="text/javascript">
var url = http://www.google.cn';
</script>
<style>
.loading-indicator {
font-size:8pt;
background-image:url(images/loading/loading.gif);
background-repeat: no-repeat;
background-position:top left;
padding-left:20px;
height:18px;
text-align:left;
}
#loading{
position:absolute;
left:45%;
top:40%;
border:3px solid #B2D0F7;
background:white url(images/loading/block-bg.gif) repeat-x;
padding:10px;
font:bold 14px verdana,tahoma,helvetica;
color:#003366;
width:180px;
text-align:center;
}
</style>
<div id="loading">
<div class="loading-indicator">
页面正在加载中...
</div>
</div>
</head>
<body onLoad="location.href = url;" style="overflow:hidden;overflow-y:hidden">
</body>
<script>
if(document.layers) {
document.write('<Layer src="' + url + '" visibility="hide"></Layer>');
}
else if(document.all || document.getElementById) {
document.write('<iframe src="' + url + '" style="visibility:hidden;"></iframe>');
}
else {
location.href = url;
}
</script>
</html>
使用lucene也不难,LZ可以参考一下