文档章节

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

O
 ORZ你好
发布于 2017/07/29 21:20
字数 244
阅读 3
收藏 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
SSH-Struts第三弹:传智播客视频教程第一天上午的笔记

一、 框架概述 1、三大框架 : 是企业主流 JavaEE 开发的一套架构 Struts2 + Spring + Hibernate 2、 什么是框架?为什么要学框架 ? 框架 是 实现部分功能的代码 (半成品),使用框架简化企...

candy-yun
2014/03/26
0
0
基于Maven的SSH框架搭建

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

kimyeongnam
2016/02/02
4.5K
4

没有更多内容

加载失败,请刷新页面

加载更多

mysql密码重置

方法一: 在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysql mysql>use mysql; mysql>更新 update user set password=pas...

architect刘源源
10分钟前
1
1
SpringBoot + Mybatis 配置多数据源(Srping boot 二)

前置条件,你已经配置好spring boot+mybatis,可以参考之前的博客 实现逻辑通过注解+aop切面编程来动态更新datasource 第一步,配置多个DataSource server: port: 8080freezing: ...

小海bug
23分钟前
10
0
连续潜在变量---概率PCA

最大似然PCA 用于PCA的EM算法 贝叶斯PCA 因子分解

中国龙-扬科
29分钟前
5
0
Mac 安装redis 及 redis desktop manager

1.安装redis 1.1 下载地址: http://download.redis.io/releases/ 1.2 本地新建个redis文件夹 1.3 切换到redis 安装下:cd /Users/用户名/Documents/redis/redis-3.2.5 1.4 make install 1.5......

qimh
34分钟前
3
0
Caffe(二)-Python-自定义网络

这里我们用一个例子先来体验一下 首先定义一下我们的环境变量 $PYTHONPATH,我这儿是Windows开发环境,至于Windows Caffe怎么编译由读者自己下去搞定 我使用的控制台是 Windows PowerShell 添...

Pulsar-V
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部