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

jsp 文件下载的更多相关文章

  1. JSP文件下载及出现getOutputStream() has already been called for this response的解决方法

    JSP文件下载及出现getOutputStream() has already been called for this response的解决方法 http://iamin.blogdriver.c ...

  2. JSP文件下载时文件名在ie和firefox下面文件名不一致极其超链接中文乱码的问题的改进

    response.setContentType("application/octet-stream;charset=UTF-8"); fileName=java.net.URLEn ...

  3. JSP文件下载

    设置http响应头 response.setHeader 读取文件 这里需要注意两点: 读取的文件路径,必须设置为绝对路径 若文件名为中文,需要设置编码格式:URLEncoder.encode(fil ...

  4. jsp中文件下载的实现

    jsp中实现文件下载的最简单的方式是在网页上做超级链接,如:<a href="music/abc.mp3">点击下载</a>.但是这样服务器上的目录资源会直 ...

  5. Weblogic环境(JSP)文件下载问题(下载的文件与原文件大小不一致问题)

    最近发现一个问题有个download.jsp文件下载jsp在Tomcat下正常,在Weblogic下不太正常! Weblogic下载的文件比原文件大两个字节,查看文件像是文件内容最后多了空行 检查do ...

  6. [Spring boot] web应用返回jsp页面

    同事创建了一个spring boot项目,上传到svn.需要我来写个页面.下载下来后,始终无法实现在Controller方法中配置直接返回jsp页面. 郁闷了一下午,终于搞定了问题.在此记录一下. 目 ...

  7. 基于 Struts2 的文件下载

    介于上篇我们讲述了基于 Struts2 的单文件和多文件上传,这篇我们来聊一聊基于 Struts2 的文件下载. 1.导 jar 包 commons-io-2.0.1.jar struts2-core ...

  8. struts2 实现文件下载方法汇总

    http://pengranxiang.iteye.com/blog/259401 一.通过struts2提供的下载机制下载文件: 项目名为 struts2hello ,所使用的开发环境是MyEcli ...

  9. 文件上传(StringMVC)

    我们经常会使用的一个功能是文件下载,既然有文件下载就会有文件上传,下面我们来看一下文件上传是如何实现的 首先准备好一个页面 jsp <style type="text/css" ...

随机推荐

  1. Win32编程API 基础篇 -- 2.一个简单的窗口 根据英文教程翻译

    一个简单的窗口 例子:简单的窗口 有时人们在IRC提问,”我应该怎样制作一个窗口”...嗯,这恐怕不是完全这么简单好回答!其实这并不难一旦你明白你在做什么,但在你得到一个可展示的窗口之前还有一些事情需 ...

  2. J - A Bug's Life 并查集

    Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...

  3. 又通过一道题目,替换字符串 —— 剑指Offer

    https://www.nowcoder.net/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&tqId=11155&tPage= ...

  4. openCV—Python(2)—— 载入、显示和保存图像

    一.函数简单介绍 1.imread-读取图像 函数原型:imread(filename, flags=None) filename:读取的图像路径名:比如:"H:\img\lena.jpg& ...

  5. Ajax之XMLHttpRequst对象

    XMLHttpRequest对象提供客户端与Http服务器异步通信的协议.通过该协议,Ajax可以使页面像桌面应用程序一样,只同服务器进行数据层的交换,而不用每次都刷新页面,也不用每次将数据处理工作提 ...

  6. git分支的合并和冲突解决【转】

    本文转载自:http://blog.csdn.net/Kingson_Wu/article/details/39227611 http://gitbook.liuhui998.com/3_3.html ...

  7. Git新建本地分支与远程分支关联问题:git branch --set-upstream【转】

    本文转载自:http://blog.csdn.net/netwalk/article/details/21088405 Git新建本地分支与远程分支关联问题:git branch --set-upst ...

  8. ※交换排序(1)——快速排序(quick sort)

    快速排序使用分治策略(Divide and Conquer)来把一个序列分为两个子序列.步骤为: 从序列中挑出一个元素,作为"基准"(pivot). 把所有比基准值小的元素放在基准 ...

  9. 【POI 2010】 Antisymmetry

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2084 [算法] manacher [代码] #include<bits/std ...

  10. MSP430 PIN 操作寄存器

    1.P口端口寄存器: (1).PxDIR   输入/输出方向寄存器 (0:输入模式    1:输出模式) (2).PxIN    输入寄存器 输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄 ...