当点击我要修改时,需要在后台生成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>之间

标签:
showModelDialog,文件下载

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。