`
serenity
  • 浏览: 60969 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

转:Struts 2 下载文件(12)上

阅读更多

11.3  Struts 2控制文件下载

文件下载相对于文件上传要简单得多,最简单的方式就是直接在页面上给出一个下载文件的链接,使用Struts 2框架来控制文件的下载,关键是需要配置一个stream类型的结果,需要指定下面4个属性。

— contentType属性:指定被下载文件的文件类型。

— inputName属性:指定被下载文件的入口输入流。

— contentDisposition属性:指定下文件的文件名称。

— bufferSize属性:指定下载文件时的缓冲区大小。

配置上面4个属性,既可以在配置文件中配置,也可以在Action中设置该属性来完成配置。

11.3.1  在配置文件中指定下载资源

下面给出在配置文件中指定下载资源的示例,如代码11.9所示。

代码11.9  文件下载业务控制器

 

package ch11;

import java.io.InputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.Action;

public class FileDownloadAction implements Action {

    
private String inputPath;

    
public void setInputPath(String value) {

        inputPath 
= value;

    }


    
//返回一个InputStream类型值

    
public InputStream getInputStream() throws Exception {

        
return ServletActionContext.getServletContext().getResourceAsStream (inputPath);

    }


    
public String execute() throws Exception {

        
return SUCCESS;

    }


}


 

Action非常简单,并没有其他特殊之处,关键在于配置文件中关于该Action的配置,其内容如下所示:

 

<!--配置文件定义文件下载-->

        
<action name="download" class="ch11.FileDownloadAction">

            
<!--指定下载资源位置-->

            
<param name="inputPath">/upload/struts-power.gif</param>

            
<!--指定success逻辑视图为一个stream类型,即流视图-->

            
<result name="success" type="stream">

                
<!--下载文件的类型-->

                
<param name="contentType">image/gif</param>

                
<!--下载文件位置-->

                
<param name="inputName">inputStream</param>

                
<param name="contentDisposition">

                    filename="struts.gif"

                
</param>

                
<!--缓冲区大小-->

                
<param name="bufferSize">4096</param>

            
</result>

</action>

 

读者可以看到,该Action指定了一个success返回逻辑视图,该视图类型为stream,即一个流类型,即需要下载的资源流。本示例中,在该success逻辑视图中增加了4个参数,参数contentType指定了下载资源的类型;inputName参数和contentDisposition参数指定了下载资源的位置;bufferSize参数指定了下载资源的缓冲区大小。

Action配置中,初始化了一个inputPath参数,即指定了下载资源的Web相对位置。读者可以运行该示例,在浏览器中输入http://localhost:8080/bookcode/ch11/download.action,结果如图11.11所示。

11.11  Struts 2控制文件下载界面

 

分享到:
评论

相关推荐

    第八章:struts2文件上传下载.ppt

    第八章:struts2文件上传下载.ppt

    struts2实现文件下载功能

    使用struts2实现文件下载功能,可以直接运行!

    struts2核心文件

    struts2核心jar包,需要的可以下载使用

    struts2实现文件上传下载

    在struts2基础上实现的包括单文件、多文件的上传及下载

    struts2配置文件以及代码示例

    struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置...

    IBM Struts2培训PPT.7z

    IBMStruts2培训PPT (大全集) 主讲:刘雷 完整实用 第一章:认识体验Struts2.ppt 第二章:struts2架构剖析.ppt ...第八章:struts2文件上传下载.ppt 第九章:struts2拦截器.ppt + Struts2开发详解.ppt

    struts2文件上传和下载

    struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载

    Struts2下载文件中文乱码处理

    Struts2下载文件时中文乱码和空格处理

    struts2生成Excel文件上传下载

    项目:Struts2UpAndDownLoadFile 1.实现文件的上传和下载 项目:Struts2HandleExcelFile 1.实现文件的上传和下载 2.利用apache的poi-3.5-FINAL-20090928.jar组件实现创建Excel表格。

    struts2中的文件上传和下载

    struts2中的文件上传和下载: 1.首先导入commons-fileupload-1.2.1.jar和commons-io-1.4.jar两个jar包 2.其次JSP页面中的文件上传控件所在的form必须设置属性enctype="multipart/form-data" 3.再次,struts2中...

    struts2资源包

    struts2常用的6个jar包 commons-fileupload-1.2.1.jar:...xwork-core-2.1.6.jar:XWork类库,Struts 2在其上构建 commons-logging-1.1.1.jar :日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。

    struts2 上传下载文件

    使用struts2框架进行文件的上传并限制文件的大小与类型,使用struts2框架实现文件下载

    struts2实现多文件上传下载

    网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...

    struts2-json-plugin-2.3.24-API文档-中文版.zip

    赠送Maven依赖信息文件:struts2-json-plugin-2.3.24.pom; 包含翻译后的API文档:struts2-json-plugin-2.3.24-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.struts:struts2-json-plugin:2.3.24; ...

    struts2配置文件

    struts2配置文件 struts2代码

    struts2 库文件下载

    struts2 库文件下载This product includes software developed by The Apache Software Foundation (http://www.apache.org/).

    Struts2核心包

    Struts2最新版本2.2.1中所设计的核心库文件,包括以下内容: struts2-core-2.2.1.jar:Struts2框架的核心类库。 xwork-core-2.2.1.jar:Xwork核心类库,Struts2在其上构建。 ognl-3.0.jar:对象图导航语言(Object ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    11.4.7 编写Struts的配置文件struts-config.xml 11.4.8 编写Spring的配置文件spring-config.xml 11.4.9 配置web.xml 11.4.10 启动Tomcat运行示例 11.5 小结 第十二章 使用Hibernate快速实现持久层处理 12.1 ...

    struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单

    struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单

    Struts2文件流方式导出下载excel、Txt、image图片

    Struts2文件流方式导出下载excel、Txt、image图片,直接返回给浏览器提示下载,不生成临时文件,直接保存在客户端

Global site tag (gtag.js) - Google Analytics