求在查询数据库的时候,在页面上显示进度条?

wzg7711 2006-03-04 10:16:04
在查询数据库的时候,在页面上显示进度条,等数据查询完毕时,进度条就消失,不知各位能否提供一个参考,多谢了
...全文
630 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveme820 2006-03-10
  • 打赏
  • 举报
回复
如果你能建立起这样的前提,还是有希望的:
1.你知道查数据库需要多长时间(这个实现起来,难度会超出想象)
2.现在用了多少时间。
3.其他影响时间的因素,如网络状况,服务器配置等。
dlxu 2006-03-10
  • 打赏
  • 举报
回复
最多采用Ajax,不过数据库查询的话好像数据库不会返回查询的百分比吧
haoren 2006-03-10
  • 打赏
  • 举报
回复
提示剩余时间很难,如果只要出现提示“正在查询”,结束时自动关闭,倒可以实现!
soft1999 2006-03-10
  • 打赏
  • 举报
回复
其实了解缓存技术后你就知道怎么实现了..我原来用asp做过.不难.不知道jsp是不是一样.
minisun2000 2006-03-10
  • 打赏
  • 举报
回复
应该比较难,如楼上所说的,前2条基本都没戏
VisaulAll 2006-03-09
  • 打赏
  • 举报
回复
可以试试用xmlHttp
hant 2006-03-09
  • 打赏
  • 举报
回复
我们现在实现的都是出现一个图层,上面有个GIF图片,提示用户正在进行数据库操作,请等待,不好提示还剩多少时间,难!
fjm_520 2006-03-09
  • 打赏
  • 举报
回复
学习
strawren 2006-03-09
  • 打赏
  • 举报
回复
这个基本上不现实。
因为服务器端的执行是未知的,而且http是一次请求与响应。

用这个方法试试:
给用户一个正在执行的画面,执行完后再跳转到相应的页面
zx2002027 2006-03-06
  • 打赏
  • 举报
回复
关注
wzg7711 2006-03-04
  • 打赏
  • 举报
回复
刚在网上找了一静态网页的进度条,不知哪们高手可以修改一下可以在JSP网页里使用,主要是无法知道查询数据库时需要多长时间

<script type=text/javascript>
var ie5 = (document.all && document.getElementsByTagName);
var step = 0;
function setSB(v, el, inforEl, message) {
if (ie5 || document.readyState == "complete") {
filterEl = el.children[0];
valueEl = el.children[1];

if (filterEl.style.pixelWidth > 0) {
var filterBackup = filterEl.style.filter;
filterEl.style.filter = "";
filterEl.style.filter = filterBackup;
}

filterEl.style.width = v + "%";
valueEl.innerText = v + "%";
inforEl.innerText = message;
}
}
function setSBByStep(v, el, inforEl, message) {
if (ie5 || document.readyState == "complete") {
step = step + v;
filterEl = el.children[0];
valueEl = el.children[1];

if (filterEl.style.pixelWidth > 0) {
var filterBackup = filterEl.style.filter;
filterEl.style.filter = "";
filterEl.style.filter = filterBackup;
}

filterEl.style.width = step + "%";
valueEl.innerText = step + "%"
inforEl.innerText = message;
}
}

function fakeProgress(v, el) {
if (v >= 101)
alert('aaa');
else {
setSB(v, el, infor, "数据正在查询 加载中……");
window.setTimeout("fakeProgress(" + (v + 1) + ", document.all['" + el.id + "'])", 20);
}
}

//-->
</script>

<body onLoad="fakeProgress(0,sb)">
<DIV align=center>
<DIV id=sb style="BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; BACKGROUND: #DCDCDC; WIDTH: 400px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 14px; TEXT-ALIGN: left">
<DIV id=sbChild1 style="FILTER: Alpha(Opacity=0, FinishOpacity=80, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=0); OVERFLOW: hidden; WIDTH: 100%; POSITION: absolute; HEIGHT: 12px">
<DIV style="BACKGROUND: #000000; WIDTH: 100%" hidden overflow: height:12px;></DIV></DIV>
<DIV style="FONT-SIZE: 10px; WIDTH: 400px; COLOR: white; FONT-FAMILY: arial; POSITION: absolute; HEIGHT: 14px; TEXT-ALIGN: center"></DIV></DIV>
<P></P>
<DIV id=infor style="FONT-SIZE: 11px; WIDTH: 100%; COLOR: #999999; FONT-FAMILY: arial; POSITION: relative; HEIGHT: 14px; TEXT-ALIGN: center"></DIV></DIV>
isloop 2006-03-04
  • 打赏
  • 举报
回复
不太难实现,我做过在生成静态页发布网站的时候做过。不过说起来很麻烦,现在要马上出去,就不多说了,下面的朋友接着吧
wzg7711 2006-03-04
  • 打赏
  • 举报
回复
或者在页面显示,“正在查询,请稍等......”像这样动画也可以,等查询完毕就自动关闭
sxy0713 2006-03-04
  • 打赏
  • 举报
回复
感觉是JSF的内容~
loveunittesting 2006-03-04
  • 打赏
  • 举报
回复
感觉没戏。查询数据库是服务器端的,这时候肯定还没给web页面回应,应该没法显示。或者把大查询分成n个小查询。完成一个查询回送给web页面,也就是刷新n次。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧