WebWork下載的實(shí)現(xiàn)
作者:佚名
本文介紹如何實(shí)現(xiàn)WebWork下載文件。
WebWork下載文件時,首先在xwork.xml中添加以下內(nèi)容:
- <action name="download" class="com.mycompany.action.FileDownloadAction">
- <result name="success" type="stream">
- <param name="contentType">application/octet-stream</param>
- <param name="inputName">inputStream</param>
- <param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
- <param name="bufferSize">4096</param>
- </result>
- </action>
- <action name="download" class="com.mycompany.action.FileDownloadAction">
- <result name="success" type="stream">
- <param name="contentType">application/octet-stream</param>
- <param name="inputName">inputStream</param>
- <param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
- <param name="bufferSize">4096</param>
- </result>
- </action>
這時需要把fileName作為參數(shù)傳過來,以下是action:
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.InputStream;
- import java.io.UnsupportedEncodingException;
- import com.opensymphony.xwork.Action;
- public class FileDownloadAction implements Action {
- private String fileName = "";
- public InputStream getInputStream () throws Exception {
- InputStream is = null;
- try {
- is = new FileInputStream(fileName);
- } catch (FileNotFoundException e1) {
- }
- return is;
- }
- public String execute () throws Exception {
- return SUCCESS;
- }
- public void setFileName (String fileName) {
- this.fileName = fileName;
- }
- public String getFileName () {
- return fileName;
- }
- public String getDownloadFileName () {
- String downFileName = fileName;
- try {
- downFileName = new String(downFileName.getBytes(), "utf8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return downFileName;
- }
- }
至此就完成了WebWork下載。
【編輯推薦】
責(zé)任編輯:雪峰
來源:
JavaEye博客