文档章节

SSH入门系列5:struts2实现下载功能

O
 ORZ你好
发布于 2017/07/29 21:20
字数 244
阅读 2
收藏 0

jsp页面如下设置:

<body>
<a href="myuser/UserAction">点击下载</a>

</body>

随后在Action里面定义方法

public InputStream getDownloadFile() throws Exception{

        System.out.println(666);
        this.fileName ="1.jpg";
        return ServletActionContext.getServletContext().getResourceAsStream("/upload/1.jpg");   
}

 

注意:这里返回类型是InputStream

          同时方法名取值为get**()与下面struts.xml相对应

 

struts.xml做如下设置:


     <action name="UserAction"  class="com.action.UserAction"    >
        <result  name="success"  type="stream">
             <param name="contentType"> image/jpeg</param>
             <param name="contentDisposition" > attachment ;fileName="${fileName}"  </param>
             <param  name="inputName">downloadFile</param>
             <param name="bufferSize" >1024</param>
     </result>
     </action>

注意:这里的结果类型必须是type="stream"

  <param name="contentDisposition" > attachment ;fileName="${fileName}"  </param>

这里的contentPosition默认是inline,即内联样式,具体实现方式是:如果能在网页打开,就在网页打开,否则将会自己选择。

attachment:下载时会打开下载框。fileName="${fileName}动态显示文件名。

  <param name="inputName" > downloadFile</param>这里的文件名必须与Action里面 get**()方法保持一致。否则会报

java.io.FileInputStream cannot be cast to java.lang.String这个错误

 

© 著作权归作者所有

共有 人打赏支持
O
粉丝 0
博文 15
码字总数 8932
作品 0
南京
struts2实战教程

Struts2.0已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。 拥有丰富的开发人群,几乎已经成为了事实上的工业标准。因此,学习MVC框架,struts2.0几乎是必须熟悉的...

2846613430
2016/04/25
157
0
SSH框架之struts2专题1:Struts2入门

1 Struts2入门 1.1 Struts2简介 Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。 1.2 Struts2下载与版本 Stru...

极客微信条
01/02
0
0
[Struts 2系列] Struts 2入门之HelloWorld

Struts 2框架的下载与安装: Struts 2下载地址: http://struts.apache.org/download.cgi 截止笔者准备开始着手写[Struts 2]系列博客时,Struts 2的最新版本为: Struts 2.3.24.1 下载Struts ...

LSantorini
2016/01/24
93
0
基于Maven的SSH框架搭建

1.工程介绍 工程是结合了Spring+struts2+hibernate,实现了一个简单的form表单提交的功能,可能需要对spring,struts2,hibernate有一个基础的了解才好理解。 2.工程结构图 首先来看一下整个...

kimyeongnam
2016/02/02
4.5K
4
Jenkins入门系列

enkins 是一个可扩展的持续集成引擎。 主要用于: l 持续、自动地构建/测试软件项目。 l 监控一些定时执行的任务。 Jenkins拥有的特性包括: l 易于安装-只要把jenkins.war部署到servlet容器...

harries
2016/04/21
218
0

没有更多内容

加载失败,请刷新页面

加载更多

jQuery学习笔记180923

jQuery 操作 CSS jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些: addClass() - 向被选元素添加一个或多个类 removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选...

颖伙虫
30分钟前
1
0
[python] colorama 模块 - 改变控制台输出文本的颜色

除了使用 PyQt 这样的图形化开发框架外,基本上 python 程序都是跑在控制台中的。很多时候,单纯使用黑白的文字不能很好地突出我们要显示的信息。有时候我们需要将错误的提示使用红色标注,而...

cometeme
35分钟前
1
0
Makefile 学习 2 - 基于若干 Blog 的汇总

基于若干 Blog 汇总的 makefile 教程 陈皓 https://blog.csdn.net/haoel/article/details/2886 Makefile 进阶 1. Makefile 中的内容 显式规则。显式规则说明了,如何生成一个或多的的目标文件...

公孙衍
50分钟前
1
0
NIO与BIO的区别、NIO的运行原理和并发使用场景

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的...

Java干货分享
今天
1
0
72.告警系统邮件引擎 运行告警系统

20.23/20.24/20.25 告警系统邮件引擎 20.26 运行告警系统 20.23/20.24/20.25 告警系统邮件引擎 邮件首先要有一个mail.py,以下。 因为我们之前zabbix的时候做过,就可以直接拷贝过来 mail.s...

王鑫linux
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部