showModelDialog弹出文件下载窗口的使用示例


Posted in Javascript onNovember 19, 2013

当点击我要修改时,需要在后台生成excel文件,同时需要提供下载文件功能。
生成excel文件容易、弹出”文件下载”也容易:
点击按钮,跳转到action中,在该action中生成Excel文件,填充数据,保存到临时文件夹中,然后在按钮的Click事件中,根据模板生成Excel报表,填充数据,保存到临时文件夹,然后output.wirte()。一切看起来很顺利。
Action如下(弹出"文件下载"窗口):

/**
*@paramresponse
*@paramdownloadFile
*/
privatevoidclientResponse(HttpServletResponseresponse,FiledownloadFile,StringfileName){
try{
response.reset();
response.setContentType("application/octet-stream");
//用来弹出保存窗口,设置为attachment
response.setHeader("Content-Disposition","attachment;filename="+newString(fileName.getBytes(),"ISO-8859-1"));
InputStreaminput=newFileInputStream(downloadFile);
OutputStreamoutput=response.getOutputStream();
intc;
//读取流并写入到文件中
while((c=input.read())!=-1){
output.write(c);
}
output.flush();
output.close();
input.close();
}catch(Exceptione){
}
}

但是当测试的时候,发现我点击”我要修改”按钮,总是会弹出一个新的窗口。百度一下,加了这段:<basetarget="_self">,这个表示在当前页打开页面。
如下:
base:为页面上的所有链接规定默认地址或默认目标
target:跳转到的目标页
<basetarget=_blank><!--在空白页打开-->
<basetarget=_parent><!--在当前页的上一页(父类)打开-->
<basetarget=_search><!--在浏览器地址栏打开-->
<basetarget=_self><!--在当前页打开-->
<basetarget=_top><!--在最初(首页)页打开-->
这个问题解决了,但是新的问题又来了,就是文件不可以下载。所以我有没有那种方法既可以在本页打开,又可以提供下载呢?想到了iframe框架。我们可以设置一个看不见的iframe框架,然后target=iframName就可以解决了。

<iframe id="download" name="download" height="0px" width="0px"></iframe>
<base target="download">

这<base...>位于<head></head>之间
Javascript 相关文章推荐
获取body标签的两种方法
Oct 13 Javascript
jquery中$each()方法的使用指南
Apr 30 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
May 21 Javascript
jQuery与JS加载事件用法分析
Sep 04 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
微信小程序实现移动端滑动分页效果(ajax)
Jun 13 Javascript
利用Vue.js实现求职在线之职位查询功能
Jul 03 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
Jun 08 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 Javascript
swiper实现导航滚动效果
Dec 13 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 #Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 #Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 #Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 #Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 #Javascript
jQuery控制iFrame(实例代码)
Nov 19 #Javascript
jquery 检测元素是否存在的实例代码
Nov 19 #Javascript
You might like
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
main.php
2006/12/09 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
JQuery基础语法小结
2015/02/27 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
python手写均值滤波
2020/02/19 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
五分钟演讲稿
2014/04/30 职场文书
安全月活动总结
2014/05/05 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
企业文化理念标语
2014/06/10 职场文书
大专学生求职自荐信
2014/07/06 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript