function batchCode() {
var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行,当没有选择的记录时,返回一个空数组
if (rows.length == 0) {
layer.msg("请选择要生成代码的表");
return;
}
var tables = new Array();
// 遍历所有选择的行数据,取每条数据对应的ID
$.each(rows, function(i, row) {
tables[i] = row['tableName'];
});
location.href = prefix + "/batchCode?tables=" + JSON.stringify(tables);
}
后台代码:
@RequestMapping("/batchCode")
public void batchCode(HttpServletRequest request, HttpServletResponse response, String tables) throws IOException {
String[] tableNames = new String[]{};
//String tables = request.getParameter("tables");
tableNames = JSON.parseArray(tables).toArray(tableNames);
byte[] data =generatorService.generatorCode(tableNames);
response.reset();
response.setHeader("Content-Disposition", "attachment; filename=\"bootdo.zip\"");
response.addHeader("Content-Length", "" + data.length);
response.setContentType("application/octet-stream; charset=UTF-8");
IOUtils.write(data, response.getOutputStream());
}
注意使用浏览器响应下载请求,需要设置相应的响应头。