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 相关文章推荐
js动态设置鼠标事件示例代码
Oct 30 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
Apr 10 Javascript
谈谈JavaScript异步函数发展历程
Sep 29 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 Javascript
javascript ES6中箭头函数注意细节小结
Feb 17 Javascript
vue-cli 如何打包上线的方法示例
May 08 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
Sep 28 Javascript
elementUI select组件value值注意事项详解
May 29 Javascript
VUE解决 v-html不能触发点击事件的问题
Oct 28 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
Apr 13 Javascript
微信小程序实现电子签名并导出图片
May 27 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
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
vuex实现简易计数器
2016/10/27 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python入门篇之对象类型
2014/10/17 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
迟到检讨书5000字
2014/01/31 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
三八活动策划方案
2014/08/17 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
教师反邪教心得体会
2016/01/15 职场文书
生产实习心得体会范文
2016/01/22 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python