showModelDialog彈出文件下載窗口的使用示例
當(dāng)點(diǎn)擊我要修改時(shí),需要在后臺(tái)生成excel文件,同時(shí)需要提供下載文件功能。
生成excel文件容易、彈出”文件下載”也容易:
點(diǎn)擊按鈕,跳轉(zhuǎn)到action中,在該action中生成Excel文件,填充數(shù)據(jù),保存到臨時(shí)文件夾中,然后在按鈕的Click事件中,根據(jù)模板生成Excel報(bào)表,填充數(shù)據(jù),保存到臨時(shí)文件夾,然后output.wirte()。一切看起來(lái)很順利。
Action如下(彈出"文件下載"窗口):
/**
*@paramresponse
*@paramdownloadFile
*/
privatevoidclientResponse(HttpServletResponseresponse,FiledownloadFile,StringfileName){
try{
response.reset();
response.setContentType("application/octet-stream");
//用來(lái)彈出保存窗口,設(shè)置為attachment
response.setHeader("Content-Disposition","attachment;filename="+newString(fileName.getBytes(),"ISO-8859-1"));
InputStreaminput=newFileInputStream(downloadFile);
OutputStreamoutput=response.getOutputStream();
intc;
//讀取流并寫(xiě)入到文件中
while((c=input.read())!=-1){
output.write(c);
}
output.flush();
output.close();
input.close();
}catch(Exceptione){
}
}
但是當(dāng)測(cè)試的時(shí)候,發(fā)現(xiàn)我點(diǎn)擊”我要修改”按鈕,總是會(huì)彈出一個(gè)新的窗口。百度一下,加了這段:<basetarget="_self">,這個(gè)表示在當(dāng)前頁(yè)打開(kāi)頁(yè)面。
如下:
base:為頁(yè)面上的所有鏈接規(guī)定默認(rèn)地址或默認(rèn)目標(biāo)
target:跳轉(zhuǎn)到的目標(biāo)頁(yè)
<basetarget=_blank><!--在空白頁(yè)打開(kāi)-->
<basetarget=_parent><!--在當(dāng)前頁(yè)的上一頁(yè)(父類(lèi))打開(kāi)-->
<basetarget=_search><!--在瀏覽器地址欄打開(kāi)-->
<basetarget=_self><!--在當(dāng)前頁(yè)打開(kāi)-->
<basetarget=_top><!--在最初(首頁(yè))頁(yè)打開(kāi)-->
這個(gè)問(wèn)題解決了,但是新的問(wèn)題又來(lái)了,就是文件不可以下載。所以我有沒(méi)有那種方法既可以在本頁(yè)打開(kāi),又可以提供下載呢?想到了iframe框架。我們可以設(shè)置一個(gè)看不見(jiàn)的iframe框架,然后target=iframName就可以解決了。
<iframe id="download" name="download" height="0px" width="0px"></iframe>
<base target="download">
這<base...>位于<head></head>之間
相關(guān)文章
jQuery的Cookie封裝,與PHP交互的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇jQuery的Cookie封裝,與PHP交互的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
jQuery 過(guò)濾方法filter()選擇具有特殊屬性的元素
需要選出所有有背景圖片的元素,使用jQuery的DOM過(guò)濾方法filter(),可以根據(jù)函數(shù)中表達(dá)的任何條件選擇元素,需要的朋友可以參考下2014-06-06
jQuery學(xué)習(xí)筆記之DOM對(duì)象和jQuery對(duì)象
DOM對(duì)象和jQuery對(duì)象的操作時(shí)很重要的,是jquery與頁(yè)面元素互動(dòng)的基礎(chǔ)。2010-12-12
JQuery Tips(3) 關(guān)于$()包裝集內(nèi)元素的改變
JQuery包裝集內(nèi)的元素在一開(kāi)始的選定后,還可以通過(guò)一系列JQuery提供的方法對(duì)包裝集內(nèi)的元素進(jìn)行擴(kuò)充,修改,篩選,刪除find()方法 VS filter()方法2009-12-12
ajax 提交數(shù)據(jù)到后臺(tái)jsp頁(yè)面及頁(yè)面跳轉(zhuǎn)問(wèn)題
這篇文章主要介紹了ajax 提交數(shù)據(jù)到后臺(tái)jsp頁(yè)面及頁(yè)面跳轉(zhuǎn)問(wèn)題的相關(guān)資料,需要的朋友可以參考下2017-01-01

