struts2文件下载、注解介绍

2018-05-27  本文已影响0人  pr0metheus

一般下载可以有两种形式:

  1. 提供超链接
  2. 通过流写出到客户端

我们一般会使用第二种,使用第一种的话,如果下载的是txt、word等文件,某些浏览器会直接为我们打开,这不是我们想要的,我们想要通过弹框的方式来进行下载,所以使用第二种

使用struts2文件下载的步骤:

  1. 定义一个Action命名为DownloadAction
  2. 在该Action中定义好属性filename,并提供setter&getter方法
  3. 提供一个获得输入流的方法
  4. execute中返回SUCCESS,其他也可以,关键是在struts.xml中有对应的result
  5. 在struts.xml中配置好对应的Action,在name为success的result上设置type为stream,并为该result配置param元素,分别涉及到inputName、contentDisposition

具体配置如下图所示:

Download.png

上述例子文件名字是被写死了,但是完全可以利用成员变量filename来实现动态下载

对于下载提示框中文乱码的问题,通过对字符串进行解码,在进行ISO8859-1编码即可解决

注解介绍:

注解的优先级高于xml,也就是说两处都配置同一个Action,注解的会生效,这个了解下就行

上一篇下一篇

猜你喜欢

热点阅读