原文地址:http://blog.csdn.net/menglingjun/archive/2010/03/08/5356105.aspx
Xml代码
- <action name="download" class="com.unmi.action.DownloadAction">
- <result name="success" type="stream">
- <param name="contentType">application/octet-stream</param>
-
- <!-- 默认就是 inputStream,它将会指示 StreamResult 通过 inputName 属性值的 getter 方法,
- 比如这里就是 getInputStream() 来获取下载文件的内容,意味着你的 Action 要有这个方法 -->
- <param name="inputName">inputStream</param>
-
- <!-- 默认为 inline(在线打开),设置为 attachment 将会告诉浏览器下载该文件,filename 指定下载文
- 件保有存时的文件名,若未指定将会是以浏览的页面名作为文件名,如以 download.action 作为文件名,
- 这里使用的是动态文件名,${fileName}, 它将通过 Action 的 getFileName() 获得文件名 -->
- <param name="contentDisposition">attachment;filename="${fileName}"</param>
- <param name="bufferSize">4096</param>
- </result>
- </action>
class代码
- import java.io.*;
- import java.text.*;
- import java.util.Date;
-
-
-
-
-
- public class NetbookSerialAction {
-
- public String execute() throws Exception {
-
- return "success";
- }
-
-
- public InputStream getInputStream() throws Exception {
-
-
-
- return new ByteArrayInputStream("Struts2 文件下载测试".getBytes());
- }
-
-
- public String getFileName() {
- DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
- String fileName = "序列号(" + df.format(new Date()) + ").txt";
- try {
-
- return new String(fileName.getBytes(), "ISO8859-1");
- } catch (UnsupportedEncodingException e) {
- return "impossible.txt";
- }
- }
- }
分享到:
相关推荐
Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果....
让我们深入探讨一下`Result`标签的使用以及在Struts2框架中的作用。 ### 1. Struts2框架概述 Struts2框架基于MVC设计模式,主要由四部分组成:Action、ActionMapping、Result和Interceptor。Action负责处理用户的...
默认情况下,如果未明确指定Result类型,那么Struts2会默认使用"dispatcher",它将请求分发到一个JSP页面。然而,Struts2提供了多种Result类型,以满足不同场景的需求。 1. **dispatcher**: 这是最常见的Result类型...
在struts2中使用result里type="stream"的结果类型时,可以实现文件的下载管理,使用时也是比较顺畅,但是当在“下载提示窗口”中点击“取消按钮”时,总是报出“java.lang.IllegalStateException”异常,异常内容...
Struts2内置了多种结果类型,如dispatcher(重定向或转发到一个JSP页面)、stream(下载文件)等,也可以自定义结果类型。 5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,...
### Struts2中的Result与Type详解 #### 一、引言 在Struts2框架中,`Result`和`Type`是两个非常重要的概念。它们主要用于控制Action执行完毕后页面的跳转方式以及如何处理Action返回的结果。通过合理配置`Result`与...
在提供的“struts2 demo”压缩包中,你可以找到这些概念的具体实现,包括Action类、视图页面、配置文件等,通过分析和运行这些示例,你可以深入理解Struts2的工作原理和用法。这个压缩包对于初学者来说是一个很好的...
在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...
Struts2支持多种Result类型,如JSP、FreeMarker、Stream等。配置在Action配置文件中,它定义了Action执行完成后如何跳转到下一个视图。 4. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts2中的默认...
`struts.xml`或`struts2-convention-plugin.xml`用于定义Action、结果类型、拦截器栈等,而注解可以在Action类或方法上直接添加,简化配置。 3. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它们在...
4. **结果类型(Result Types)**:Struts2支持多种结果类型,如`dispatcher`(用于转发到JSP页面)、`stream`(用于下载文件)、`redirect`(重定向到另一个URL)等。在Action配置中,通过指定结果类型和目标路径,...
4. **结果类型(Result)**:Action执行后会返回一个结果,Struts2支持多种结果类型,如dispatcher(转发到JSP页面)、stream(处理文件下载)等。结果类型在Action类的execute方法中通过返回值或注解指定。 5. **...
黑马程序员的笔记中可能包含了如何创建一个简单的Struts2应用,从HelloWorld实例到实际的表单提交、文件上传下载等实战案例,帮助初学者快速掌握Struts2的基本用法。 通过学习这些笔记,开发者将能够理解Struts2的...
- 在Action类中,设置返回值(Result)为`stream`类型。这告诉Struts2框架需要以流的形式传输数据。在Struts2的配置文件(struts.xml)中添加相应的配置。 3. **设置Content-Type和Content-Disposition**: - 在...
8. 结果映射:Struts2支持基于结果名称的映射,通过struts.properties文件或Action注解中的result元素定义,可以灵活地指定结果的URL。 9. 通配符匹配:Struts2允许使用通配符进行Action和结果的匹配,例如,`*.{...
3. **配置文件**:Struts2使用XML配置文件(struts.xml或struts-default.xml)来定义Action的映射、拦截器链、结果类型等。这些配置定义了请求如何路由到Action,以及Action如何响应。 4. **拦截器(Interceptor)*...
3. **使用Struts2进行下载**:通过设置Action的结果类型为`stream`,并提供文件流,Struts2可以生成下载链接。 **六.Struts2的属性驱动和模型驱动** 1. **属性驱动**:Action类中的字段直接对应请求参数,Struts2...
此外,Action中方法的输入校验是非常重要的,Struts2提供了一套完整的验证机制。开发者可以使用注解或XML配置文件定义验证规则,Struts2会自动进行数据校验,并在验证失败时返回错误信息。这有助于确保数据的准确性...
首先,Struts2的架构基于Action和Result的设计模式,Action是业务逻辑的载体,Result则是处理Action执行后展示结果的方式。这种设计使得开发者可以灵活地定义业务流程,并且易于测试和重用代码。 在Struts2源码中,...
这个"struts2完整压缩包"很可能包含了Struts2框架的全部组件、库文件、文档、示例代码以及必要的配置文件,使得开发者可以快速地在自己的项目中集成并使用Struts2。 Struts2的核心概念基于Model-View-Controller...