/* 文件下载的先决条件
* 1. 在xml配置文件中必须配置一个type="stream"的result, result中不需要填写任何内容 * 2. 在Action中编写一个接收文件名的String, 这个变量名必须和JSP页面的参数名完全吻合
* 3. 可以在result中配置一个名为"contentDisposition"的参数, 值是attachment;fileName=${fileName}
* * attachment表示当前下载的内容让浏览器以下载的方式打开
* * ${fileName}表示从对应的Action中获取要下载的文件名, Action中必须提供对应参数的getter方法
*/

1.代码示例:

--->Action类

public class FileDownLoadAction extends ActionSupport {
private static final long serialVersionUID = 1L;
//文件传过来的名字
private String fileName; public String getFileName() {
return fileName;
} public void setFileName(String fileName) {
this.fileName = fileName;
} public String execute() throws Exception {
System.out.println("FileDownLoadAction.execute()");
if (fileName == null) {
System.out.println("文件不存在");
}
System.out.println(fileName);
return SUCCESS;
}
//下载文件的主要业务处理
public FileInputStream getInputStream() throws Exception {
//获取到"/FileTransport"的路径
String path = ServletActionContext.getServletContext().getRealPath("/FileTransport");
//获取到"/FileTransport"路径下和接受到的文件名一样
File file = new File(path, fileName);
//返回获取到的文件
return new FileInputStream(file);
}
}

--->filedownload.jsp

<body>
            提交过去的值为文件名相同
<a href="${pageContext.request.contextPath}/filedownload?fileName=index.txt">文件下载</a>
</body>

----->配置struts.xml文件

<action name="filedownload"  class="com.gxxy.filetransport.fileupload.FileDownLoadAction">
<result>/JSP/filetransport/filedownload.jsp</result>
<result type="stream">
<param name="contentDisposition">attachment;fileName=${fileName}</param>
</result>
</action>

Struts文件下载的更多相关文章

  1. struts 文件下载

    =============================struts 文件下载  ================================== 步骤一: JSP页面 <a href=& ...

  2. struts 文件下载 annotation 注解版

    [本文简介] 本文将简单介绍使用 struts2 ,通过零配置和 annotation 实现文件下载功能. [文件夹结构] [web.xml有关struts的配置] <filter> &l ...

  3. struts文件下载机制

    Struts2 中使用 type="stream" 的 result 进行下载即可.只用提供一个输入流inputStream,剩下的输出工作struts帮我们做. 例子一: 1.可 ...

  4. Struts文件下载具体解释

    在做项目中上传下载肯定是少不了的,本博文对struts2的下载进行解释并附上部分代码 1.action类 public class FileDownLoadAction extends ActionS ...

  5. Struts文件下载(静态)

    前言:在实际的开发中,我们可能需要动态下载和静态下载, 动态下载:例如我上传了一个文件,你想下载,那就必须动态生成下载链接,因为我服务器一开始是不知道我上传的东西是什么,放在那里, 静态下载:比如一些 ...

  6. struts2中的文件上传,文件下载

    文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交 ...

  7. struts 多文件上传 annotation注解(零配置)+ ajaxfileupload + 异步 版本

    [本文简介] struts 多文件上传.基于”零配置“+"ajaxfileupload" 的一个简单例子. [导入依赖jar包] jquery-1.7.2.js : http:// ...

  8. Struts2 控制文件上传下载

    之前介绍servlet3.0新特性的时候有提到过servlet API提供了一个part类来实现对文件的上传和保存,Struts其实是在其基础上做了进一步的封装,更加简单易用.至于文件下载,Strut ...

  9. Java自学手记——struts2

    struts2框架 struts2是一种基于MVC模式的框架,是在struts1的基础上融合了xwork的功能. struts2框架预处理了一些功能: >请求数据自动封装, >文件上传的功 ...

随机推荐

  1. jquery 组合键键盘事件

    jQuery处理键盘事件,比如小说网站中常见的按左右键来实现上一篇文章和下一篇文章,按ctrl+回车实现表单提交,google reader和有道阅读中的全快捷键操作... 本文讲述jQuery处理按 ...

  2. JQuery动画animate的stop方法使用详解

    JQuery动画animate的stop方法使用详解 animate语法: 复制代码 代码如下: $(selector).animate(styles,speed,easing,callback) 复 ...

  3. iOS 属性之assign、copy、retain

    参考自:http://blog.csdn.net/getchance/article/details/42213219 参考自:http://zhidao.baidu.com/link?url=Xmn ...

  4. Failed to register Grid Infrastructure type ora.mdns.type

    安装11g的集群软件的时候,在最后运行root.sh脚本时候,没有执行成功,最后提示如下错误: [root@r2 ~]# /u01/app/11.2.0/grid_1/root.sh Performi ...

  5. iReport默认参数和变量的含义解析【转】

    iReport默认参数和变量的含义解析[转] http://uule.iteye.com/blog/775338 参考:http://blog.csdn.net/terryzero/article/d ...

  6. 如何使excel表格的内容自动添加前缀

    一.假设是要在一列的单元格内容前加上固定的内容,则 方法一在原单元格实现,分两种情况 如果原单元格的内容是数字内容,要在原数字前添加"ABC"这样的前缀则选中这些单元格----右键 ...

  7. SQL Server 手把手教你使用profile进行性能监控

    200 ? "200px" : this.width)!important;} --> 介绍 经常会有人问profile工具该怎么使用?有没有方法获取性能差的sql的问题.自 ...

  8. react native ios打包到真机

    每当在模拟器上完成了开发,都想到真机上秀秀,正好前段时候买了一个mac,哈哈有机会了.前篇文章以android为例,这里就以ios为例,讲一下打包到iphone真机的流程. 一.前置 1.首先你得有一 ...

  9. 远程控制TOMCAT启动

    远程控制TOMCAT启动 1.在tomcat/conf/tomcat-users.xml中配置好管理员帐号和密码.    2.在浏览器中输入:http://你的ip/manager/list.     ...

  10. ubuntu下编译java程序

    ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class Hel ...