下载:
下载是通过StreamResult类来实现,这是一个自定义结果类型,主要作用是直接向HttpServletResponse对象发送原始数据。 StreamResult假定Action会提供一个输入流的访问方法,并将这个输入流输出到响应对象中。
SteamResult还提供如下配置属性。
contentType :
内容类型,和互联网MIME标准中的规定类型一致,例如text/plain代表纯文本,text/xml表示XML,image/gif代表GIF图片,image/jpeg代表JPG图片
inputName :
下载文件的来源流,对应着action类中某个类型为Inputstream的属性名,例如取值为inputStream的属性需要编写getInputStream()方法
contentDisposition :
文件下载的处理方式,包括内联(inline)和附件(attachment)两种方式,而附件方式会弹出文件保存对话框,否则浏览器会尝试直接显示文件。取值为:
attachment;filename="struts2.txt",表示文件下载的时候保存的名字应为struts2.txt。如果直接写filename="struts2.txt",那么默认情况是代表inline,浏览器会尝试自动打开它,等价于这样的写法:inline; filename="struts2.txt"
bufferSize :
下载缓冲区的大小。在这里面,contentType属性和contentDisposition分别对应着HTTP响应中的头Content-Type和Content-disposition头
下面是一个StreamResult的配置示例:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="xg" namespace="/" extends="struts-default">
<action name="ProjectNeedsAction" class="projectNeedsAction" >
<!-- 下載配置 -->
<result name="success" type="stream">
<!-- 下載類型和編碼配置 -->
<param name="contentType"> application/octet-stream;charset=UTF-8</param>
<!-- action中提供输入流的属性名称,缺省为inputStream -->
<param name="inputName">targetFile</param>
<!-- 指定下載名:download属性,对应action类中的方法 getDownload() -->
<param name="contentDisposition">attachment;filename="${download}"</param>
<!-- 緩存 -->
<param name="bufferSize">4096</param>
</result>
</package>
</struts>
分享到:
相关推荐
### Struts2下载地址及相关知识点 #### 一、Struts2简介 Struts2是一个开源的Web应用框架,它继承了Struts1的设计理念,并在此基础上进行了大量的改进和完善。Struts2是Apache软件基金会下的一个顶级项目,它采用...
在Struts2中实现下载功能是一项常见的需求,这通常涉及到处理文件流并将其发送到客户端。以下是如何在Struts2中实现下载功能的详细步骤: 1. **Struts2配置**: 在Struts2的配置文件(例如struts.xml或类似的配置...
本篇将深入探讨Struts2下载取消报异常的解决方法,以及相关的知识点。 1. **Struts2 文件下载原理** - Struts2提供了方便的Action类和结果类型,如`StreamResult`,来处理文件下载。通过设置HTTP响应头,如`...
标题 "Jxls结合Struts2下载" 暗示了一个教程或示例项目,它展示了如何在基于Struts2的Web应用中使用Jxls库来实现动态Excel文件的下载功能。Jxls是一个Java库,它扩展了Apache POI库,使得在Java中处理Excel模板变得...
标题"struts2下载"指向的是获取Struts2框架的最新版本或特定版本的过程。通常,你可以通过访问Apache Struts官方网站或者第三方镜像站点来下载。下载时需要注意选择适合你的项目的稳定版本或开发版本。在下载过程中...
有关struts2下载组件的具体介绍我就在此略过了,看此文的同志想必大多是碰到这样让人很是不爽的问题。 下面就将该问题的最终解决办法介绍如下。 问题概要: 在struts2中使用result里type="stream"的结果类型时,...
struts-2.0.6-lib.zip下载,struts下载,struts2下载,Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2。
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
**Struts2漏洞详解** Struts2是一款广泛应用于企业级Java Web开发的开源框架,它为构建MVC(Model-View-Controller)架构的应用程序提供了强大的支持。然而,随着其广泛应用,安全问题也逐渐凸显,其中最为知名的便...
至此,一个基本的Struts2下载功能就实现了。用户点击下载链接,Struts2会通过`DownloadAction`处理请求,读取并返回指定文件,浏览器接收到响应后,会自动弹出文件保存对话框供用户选择保存位置。 请注意,这只是一...
在标题和描述中提到的"struts2 最新版"指的是Struts2框架的最新稳定版本,这里提供了一个无需到官方网站下载的途径。 Struts2的核心特性包括: 1. **Action和Result**: Struts2中的Action是业务逻辑的载体,它负责...
Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。它在Java社区中广泛使用,因其灵活性、可扩展性和丰富的插件库而受到赞誉。Struts2的核心是Action类,它处理HTTP...
在"struts2资源下载"中,我们可以获取到与Struts2相关的各种资料,包括但不限于教程、示例代码、API文档、安全补丁以及社区提供的插件等,这些都对学习和使用Struts2框架极其有益。 Struts2的核心功能包括: 1. **...
本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...
Struts2是一款强大的Java web开发框架,由Apache软件基金会维护,是MVC(Model-View-Controller)设计模式的一种实现。这款框架的核心在于提供了一种结构化的应用开发方式,简化了开发过程,提高了代码的可复用性...
本实例将带你深入理解Struts2的下载功能,帮助你更好地掌握这一核心技术。 首先,Struts2的核心组件包括Action类、配置文件(struts.xml)、拦截器(Interceptor)以及结果类型(Result)。Action类是业务逻辑的...
jxl+struts2下载execl创建多个sheet
struts下载上传 包括对中文处理 文件大小 扩展名 类型 处理等
在我们做struts2文件下载的时候,经常会遇到这种问题:点“打开/保存”一切正常,但当我们点击“取消”时,却报一堆的异常(其中包括ClientAbortException异常),非常让人头疼,如何彻底解决呢?附件中使用struts2-...
在Java Web开发中,Struts2被广泛用于构建企业级应用,提供了强大的控制层,使得开发者能够更有效地管理请求和响应流程。Struts2.2.3的"需要11个基本包"是指为了成功地配置和运行Struts2框架,开发者通常需要引入一...