批量下载文件JSP

项目框架基于SSM
@Value("#{configProperties['FILE.DOCUMENT_PATH']}")
 
JcglSystemHelpMapper jcglSystemHelpMapper;
//参数ids : 为前台传的记录id集 (格式:12345,12346,12347)
//响应头的设置
        response.setContentType("multipart/form-data");
        String billname = "附件包-"+dates;
        String agent = request.getHeader("USER-AGENT");  
            if (agent.contains("MSIE")||agent.contains("Trident")) {
            //非IE浏览器的处理:
        } catch (Exception e) {
        response.setHeader("Content-Disposition", "attachment;fileName=\"" + downloadName + "\"");
        ZipOutputStream zipos = null;
            zipos.setMethod(ZipOutputStream.DEFLATED); //设置压缩方法 
        }
        //循环将文件写入压缩流
       
        map.put("ids", ids);
        for (AuthAttachmentDetail authAttachmentDetail : list) {
        System.out.println("filePath==="+filePath);
            throw new BusinessException("文件已不存在");
    //添加ZipEntry,并ZipEntry中写入文件流
    os = new DataOutputStream(zipos);
    int length = 0;
    }
    } catch (IOException e) {
        }
        //关闭流
            os.close();
            e.printStackTrace();
调用的dao层(mapper) 以及前台传的参数 根据自己业务来定,目的就是为了能拿到需要批量下载的文件信息(文件名/文件路径等),再进行遍历 做文件流处理。
/**
* @param request
@RequestMapping(value = "downloadPlanFile")
}
* 批量下载
*/
前端代码如下:(前端框架采用的easyui)
    //获取选择的记录
        _alert('请选择记录');
    //开启遮罩(进度条)
    var ids = '';
    ids += data.id;
    }
    //下载前的一个业务校验
url : Config.sysUrl +'/xqglReqPlan/isDownloadPlanFile',
success : function(data) {
                        //回调成功进行下载
}
}