进度条的困扰

由于用servlet实现了Birt的viewer,想在调用servlet的时候显示查询的百分比进度条,但水平有限而且要结合AJAX(没用过)才能实现,于是放弃,想改用显示系统正在查询中这样的文本提示,等查询完了显示结果!

本来想用如下代码实现:[code]
PrintWriter pw = resp.getWriter();
pw.println("系统查询中...");
pw.flush();
[/code]

但由于使用了IRunAndRenderTask的run方法运行报表,2者之间有问题,想查看run的源代码却一时找不到,所以只能采用比较土的方法实现了!

progessBar.jsp:

[code]
<%@page contentType="text/html;charset=GBK"%>
<html>
<title>查询进度提示</title>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<STYLE type=text/css>
#loader_container {
LEFT: -2px; WIDTH: 100%;
POSITION: absolute;
TOP: 172px;
TEXT-ALIGN: center;
filter:progid:DXImageTransform.Microsoft.dropShadow(OffX=2,OffY=2,Color='#999999',Positive='1');
}
#loader {
BORDER-RIGHT: #5a667b 1px solid;
PADDING-RIGHT: 0px;
BORDER-TOP: #5a667b 1px solid;
DISPLAY: block;
PADDING-LEFT: 0px;
FONT-SIZE: 11px;
Z-INDEX: 2;
PADDING-BOTTOM: 16px; M
ARGIN: 0px auto;
BORDER-LEFT: #5a667b 1px solid;
WIDTH: 130px;
COLOR: #000000;
PADDING-TOP: 10px;
BORDER-BOTTOM: #5a667b 1px solid;
FONT-FAMILY: Tahoma, Helvetica, sans;
BACKGROUND-COLOR: #ffffff;
TEXT-ALIGN: left
}
#loader_bg {
FONT-SIZE: 1px;
LEFT: 8px;
WIDTH: 113px;
POSITION: relative;
TOP: 8px;
HEIGHT: 7px;
BACKGROUND-COLOR: #e4e7eb
}
#progress {
FONT-SIZE: 1px;
LEFT: 0px;
WIDTH: 1px;
POSITION: relative;
TOP: 1px;
HEIGHT: 5px;
BACKGROUND-COLOR: black
}
</STYLE>
<SCRIPT language=JavaScript>
var t_id = setInterval(animate,20);
var pos=0;
var dir=2;
var len=0;
function animate(){
var elem = document.getElementById('progress');
if(elem != null) {
if (pos==0) len += dir;
if (len>32 || pos>79) pos += dir;
if (pos>79) len -= dir;
if (pos>79 && len==0) pos=0;
elem.style.left = pos;
elem.style.width = len;
}
}
</SCRIPT>
</head>
<BODY leftMargin=0 topMargin=0 rightMargin=0>
<DIV id=loader_container>
<DIV id=loader>
<DIV align=center>
系统查询中请稍后 ...
</DIV>
<DIV id=loader_bg>
<DIV id=progress></DIV>
</DIV>
</DIV>
</DIV>
</body>
</html>
[/code]

然后在查询的页面中:
[code]
<div id="progessBar" style="visibility: hidden"><%@include file="/common/progessBar.jsp"%></div>[/code]

点击查询按钮:
[code]
<input type="button" id="query" name="query" value=" 查 询 " class="btn-2word" onclick="toQuery();">[/code]

toQuery()方法如下:
[code]
function toQuery(){
if(document.forms[0].bm.value == ""){
alert("请选择派出所");
return false;
}
document.getElementById('progessBar').style.visibility='visible';
window.document.getElementById("query").disabled = true;
document.forms[0].action="<%= request.getContextPath() + "/ZzrkServlet" %>";
document.forms[0].submit();
}[/code]
由于赶时间,只能这样实现用用了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值