jsp 文件下载示例代码

  有的时候一个模板的下载,这种简单的下载服务端已存在文件功能,就可以方便的通过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("下载文件失败!");

  }

  %>