导出数据过大,采取线程取数据

java代码:

final Map<String,Object> params = map;
final HttpSession session = request.getSession();
//TODO 开个线程用于生成xls
Thread threadStuBase = new Thread(){
public void run() {
//dosmothing
//statr...
session.setAttribute("state", "203");//203
try {
handleUploadData(params,downloadPath,zipDownloadPath);
} catch (Exception e) {
e.printStackTrace();
session.setAttribute("state", "201");//201
}
session.setAttribute("zipDownloadPath", zipDownloadPath);
session.setAttribute("state", "200");//200
//
//end

};
};
threadStuBase.start();



jsp 代码 :

//生成excel数据
var url="${ctx}/sms/archives/base/downloadTemplate?"+param;
$.ajax({
type: 'post',
url: url,
data:{},
dataType: 'json',
success:function(data){
$.singleLoading();
var timer = setInterval(function(){
var _url="${ctx}/sms/archives/base/checkDownloadTemplate";
$.ajax({
type: 'post',
url: _url,
data:{},
dataType: 'json',
success:function(data){
if(data.code == 200){
window.clearInterval(timer);
$.singleRemove();
//下载
var url = "${ctx}/sms/archives/base/uploadExcelData?zipDownloadPath="+data.zipDownloadPath;
window.location.href= url;
}else if(data.code == 201){
$.jBox.tip(data.msg, "info", {timeout: 1500});
window.clearInterval(timer);
$.singleRemove();
}
}
});

},2000);
}
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值