您的位置:首页 > 编程语言 > Java开发

关于struts2下载文件

2017-02-06 17:20 225 查看
      定义action类如下:
package struts.action;

import java.io.InputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileDownloadDemo extends ActionSupport{
private String load;
public String getLoad() {
return load;
}
public void setLoad(String load) {
this.load = load;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
public InputStream getDownloadFile(){
return ServletActionContext.getServletContext().getResourceAsStream(load);
}
}
       在struts.xml文件中配置action,代码如下:
<action name="downloadFile" class="struts.action.FileDownloadDemo">
<result name="success" type="stream">
<param name="contentDisposition">attachment;filename="我的问题.txt"</param>
<param name="inputName">downloadFile</param>
</result>
</action>
        其中action类中定义的load可以在页面中直接指定,如可以在页面中定义如下:
<a href="downloadFile.ac?load=/upload/我的问题.txt">下载</a>
        注意,action类中的getDownloadFile中的DownloadFile必须和配置文件中的参数inputName的值downloadFile一致,否则不能进行文件的下载,在配置文件中的filename可以自己定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: