关于struts2下载文件

      定义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可以自己定义。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值