java struts 文件下载_Struts2文件下载实例
通過《Struts2文件下載簡介》教程的學習,讀者已經了解了使用 Struts2 框架實現在指定的目錄中下載指定文件的功能。下面通過案例演示文件下載功能。
1)創建下載頁面
在?struts2Demo06 項目的?WebContent 目錄下創建一個名稱為 download.jsp 的頁面文件,在文件中添加一個用于文件下載的鏈接,其主要代碼如下所示:
test.txt
2)創建 Action
在 com.mengma.action 包中新建一個名稱為 SimpleDownLoadAction 的類,該類主要用于處理文件下載的核心操作,其代碼如下所示。
package com.mengma.action;
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class SimpleDownLoadAction extends ActionSupport {
private String filename;
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
// 定義了返回InputStream的方法,該方法作為被下載文件的入口
public InputStream getDownloadFile() {
// 獲取下載文件名稱
String filename = ServletActionContext.getRequest().getParameter(
"filename");
// 定義下載文件路徑
String filePath = "/upload/" + filename;
// 返回一個流對象
return ServletActionContext.getServletContext().getResourceAsStream(
filePath);
}
}
3)編寫配置文件信息
在 struts.xml 中增加 action 的配置,其代碼如下所示:
text/plain
attachment;filename=${filename}
downloadFile
在上述配置代碼中,分別通過 stream 結果類型的屬性設置了所要下載文件的類型、名稱和輸入流。其中 ${filename} 表示在項目運行時,將 action 中的 filename 屬性動態地填充在 ${} 中間部分,這樣就可以動態地獲取所要下載的文件名稱。
4)運行項目并查看結果
啟動項目后,在瀏覽器的地址欄中輸入地址 http://localhost:8080/struts2Demo06/download.jsp,即可顯示如圖 1 所示的頁面。
圖 1??下載頁面
單擊下載頁面的超鏈接后,瀏覽器的顯示結果如圖 2 所示。
圖 2??上傳頁面
總結
以上是生活随笔為你收集整理的java struts 文件下载_Struts2文件下载实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360借款不还会有什么后果
- 下一篇: 蚂蚁花呗提额技巧,教你快速提额到5万!