本文实例为大家分享了struts2下实现文件下载功能,供大家参考,具体内容如下
下面以实现一个图片下载功能为例:
1. 项目结构
2. web.xml
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
struts 2
org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter
struts 2
/*
index.jsp
30
3.downloadaction.java
package com.action;
import java.io.inputstream;
import org.apache.struts2.servletactioncontext;
import com.opensymphony.xwork2.actionsupport;
public class downloadaction extends actionsupport{
private static final long serialversionuid = 1l;
//文件路径
private string path;
//path属性的getter方法
public string getpath(){
return path;
}
//path属性的setter方法
public void setpath(string path){
this.path = path;
}
//返回inputstream,文件下载关键方法
public java.io.inputstream getdownloadfile() throws exception{
inputstream in = servletactioncontext.getservletcontext().getresourceasstream(getpath());
return in;
}
public string execute() throws exception{
return success;
}
}
4.struts.xml
image/jpeg
attachment;filename="a.jpg"
downloadfile
1024
5.index.jsp
string path = request.getcontextpath();
string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";
%>
首页欢迎来到首页,点下面链接去下载一个文件
6.文件路径
项目中要提前建立好download目录,和里面要存在有a.jpg文件,否则,下载会失败。
7.功能入口
项目发布到服务器后,用浏览器访问项目中的index.jsp ,点击下载链接,就可以弹出“下载”对话框。
希望与广大网友互动??
点此进行留言吧!