CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

利用AJAX技术实现网页无刷新进度条显示

作者: ,  出处:网络整理, 责任编辑: 李春禹, 
2007-11-15 09:48
  

  在网页中实现页面无刷新的进度条显示不是一件很麻烦的事情,但如果这个进度条要能准确反映当前事务或者复杂逻辑的执行进度,那么却并不是一件容易的事情,目前AJAX技术流行,所以本文作者试想通过AJAX来实现网页准确进度条,以銄读者。

  首先应该想一个问题,复杂事务或者事务逻辑如果不按线程方式运行,运行在JAVA运行中根本无法跳过复杂事务去处理进度显示,所以我们这边很自然的想到复杂事务或者业务逻辑用多线程实现。

  再想另一个问题,事务处理应该需要网页上的一系列参数信息的,那么如何获取这些参数呢,这个似乎容易想到,传一个HttpServletRequest过去就可以了。

  为了进度条公用,所有的复杂事务处理都应该实现同一个接口或者抽象类,我这里用了一个接口,如下:

  

public interface IprogressBar {

  public void execute(HttpServletRequest req,String pbid);//执行复杂事务

  }

  用一个实现多线程的抽象类,如下:

  

public interface IprogressBar {

  public void execute(HttpServletRequest req,String pbid);//执行复杂事务

  }

  设计到具体项目不便给出代码,这里我另外写了一个测试类,也就是执行复杂事务处理的类,如下:

  

public class TestPB extends AbstractProgressBar{

  public void execute(HttpServletRequest req, String pbid) {

  String sql="insert into temp_table(idx)values(?)";

  int pid=Integer.parseInt(pbid);

  ProgressBar pb=new ProgressBar(pid,300,0,1);

  //模拟大事务

 

 for(int i=0;i<300;i ){

  DbUtils.executeUpdate(sql,new Object[]{new Integer(i)});

  //控制进度

  

pb.stepIt();

  }

  }

  }

共2页。 1 2 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i