struts2 文件下载 问题
我写了个文件下载,我想用<s:iterator>标签遍历一个文件夹下的文件,每个文件后有个下载链接,点击“下载”,就可以下载到硬盘上了,struts.xml,
Filedownload.java ,都写好了,就是jsp不知怎么写,主要是标签不会用,
而且也不知道这下载是的路径怎么定的,如果大家有空就帮我看看,谢谢!
struts.xml
程序代码:
<struts> <constant name="struts.devMode" value="true" /> <constant name="struts.i18n.encoding" value="GBK"/> <package name="default" namespace="/" extends="struts-default"> <action name="filedownload" class="com.heqing.action.Filedownload"> <!--<interceptors> <interceptor name="downloadinterceptor" class="com.dingxun.download.DownloadInterceptor"> </interceptor> <interceptor-stack name="myinterceptor"> <interceptor-ref name="downloadinterceptor" /> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> --> <param name="fileName"></param> <!-- 设置文件名参数,由页面上传入 --> <result name="success" type="stream"> <param name="contentType">application/octet-stream</param> <!-- 下载文件类型定义 --> <param name="contentDisposition"> <!-- 下载文件处理方法 --> attachment;filename="${downloadChineseFileName}" </param> <param name="inputName">downloadFile</param> <!-- 下载文件输出流定义 --> </result> </action> </package> </struts>
Filedownload.java
程序代码:
import import import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class Filedownload extends ActionSupport { // 下载文件原始存放路径 private final static String DOWNLOADFILEPATH = "/"; // 文件名参数变量 private String fileName; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } // 从下载文件原始存放路径读取得到文件输出流 public InputStream getDownloadFile() { return ServletActionContext.getServletContext().getResourceAsStream(DOWNLOADFILEPATH + fileName); } // 如果下载文件名为中文,进行字符编码转换 public String getDownloadChineseFileName() { String downloadChineseFileName = fileName; try { downloadChineseFileName = new String(downloadChineseFileName .getBytes(), "ISO8859-1"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return downloadChineseFileName; } public String execute() { return SUCCESS; } }
[ 本帖最后由 heqingkelly 于 2010-10-7 03:17 编辑 ]