struts + jquery判断下载是否结束

思路是这样的,下载事件触发两个提交一个action 一个是计算是否下载完毕一个action 当下载完毕,改变session中一个变量的值,另外一个action捕捉到这样的改变就会给页面一个反馈,儿下载action则将流输出到本地。

页面代码如下

								window.top.opendiv("","<img src='${ctx}/images/dengdai.gif'>");
		        var url='${ctx}/timeJson/stat!calctime.action';
				$.ajax({
	   					type: "POST",
	   					url: url,
	   					data: "",
	   					success: function(data){
	   					window.top.closedialog();
	   					}
	 				});

 

该处调用一个div把当前页面遮盖起来 使之知道目前已经开始下载

  

	// 计算时间
	public String calctime() {

		getSession().setAttribute("isend", "isbegin");
		while (getSession().getAttribute("isend").equals("isbegin")) {
			try {
				Thread.sleep(4000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return "isover";
	}

 

这段代码将一直观察session中的这个对象值是否改变如果改变结束观察 给页面返回信息

 

 

 

你可能感兴趣的:(thread,jquery,Ajax,struts)