简单的下载服务端已存在文件功能,就可以方便的通过jsp文件下载的方式来轻松实现,具体的实现如下,感兴趣的朋友可以参考下
有的时候一个模板的下载,这种简单的下载服务端已存在文件功能,就可以方便的通过jsp文件下载的方式来轻松实现。 

//jsp 页面 js
复制代码 代码如下:
 
/** 
* 导出角色 
*/ 
function exportRole(){ 
var user_id = $('input[name=userListRadio]:checked').attr('id'); 
if(!user_id ||user_id == ''){ 
showinfo('请选择用户!'); 
return; 
} 
var param = {}; 
param.home_city = $('#query_role_region1').combobox('getValue'); 
param.home_county = $('#query_role_region2').combobox('getValue'); 
param.role_id = $('#query_role_id').val(); 
param.role_name = $('#query_role_name').val(); 
param.user_id = user_id; 
param.is_export = "true"; 
$('#maskDiv').mask({ 
maskMsg:'正在导出...请稍后...' 
}); 
window.location.href = 'pri_user_grant_exportRole.jsf?'+$.param(param); 
} 
//jsp下载页面
复制代码 代码如下:
 
<%@page import="java.io.OutputStream"%> 
<%@page import="java.io.PrintWriter"%> 
<%@page import="java.io.FileNotFoundException"%> 
<%@page import="java.io.File"%> 
<%@page import="java.io.FileInputStream"%> 
<%@ page contentType="text/html; charset=gb2312"%> 
<% 
//打开指定文件的流信息 
String fileName = "58918-2-import_template.xls"; 
String filepath = request.getRealPath("bassdqm/sqlcheck/template/"+fileName); 
System.out.println(filepath); 
FileInputStream fs = null; 
try { 
fs = new FileInputStream(new File(filepath)); 
}catch(FileNotFoundException e) { 
e.printStackTrace(); 
return; 
} 
//设置响应头和保存文件名 
response.reset(); 
response.setContentType("application/vnd.ms-excel"); 
response.setHeader("Content-Disposition", "inline; filename=\"" + fileName + "\""); 
//写出流信息 
int b = 0; 
try { 
OutputStream ops = response.getOutputStream(); 
while((b=fs.read())!=-1) { 
ops.write(b); 
} 
fs.close(); 
out.clear(); 
out = pageContext.pushBody(); 
}catch(Exception e) { 
e.printStackTrace(); 
System.out.println("下载文件失败!"); 
} 
%> 
您可能感兴趣的文章:
