`

Struts2 文件下载Action及Struts.xml配置

阅读更多
 <action name="download" class="com.unmi.action.DownloadAction">     
     <result name="success" type="stream"><!--type 为 stream 应用 StreamResult 处理-->     
         <param name="contentType">application/octet-stream</param><!--默认为 text/plain-->     
             
         <!-- 默认就是 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>  
  
  
<PRE class=java name="code"> package com.unmi.action;     
      
 import java.io.*;     
 import java.text.*;     
 import java.util.Date;     
      
 /**    
  * 文件下载的 Action     
  * @author Unmi    
  */     
 public class NetbookSerialAction {     
      
     public String execute() throws Exception {     
         //这里可加入权限控制     
         return "success";     
     }     
      
     //获得下载文件的内容,可以直接读入一个物理文件或从数据库中获取内容     
     public InputStream getInputStream() throws Exception {     
         //return new FileInputStream("somefile.rar"); 直接下载 somefile.rar     
      
         //和 Servlet 中不一样,这里我们不需对输出的中文转码为 ISO8859-1     
         return new ByteArrayInputStream("Struts2 文件下载测试".getBytes());     
     }     
     
     //对于配置中的 ${fileName}, 获得下载保存时的文件名     
     public String getFileName() {     
         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");     
         String fileName = "序列号(" + df.format(new Date()) + ").txt";     
         try {     
             //中文文件名也是需要转码为 ISO8859-1,否则乱码     
             return new String(fileName.getBytes(), "ISO8859-1");     
         } catch (UnsupportedEncodingException e) {     
             return "impossible.txt";     
         }     
     }     
 }     
</PRE>  
<BR>  

分享到:
评论
1 楼 我爱java 2012-08-20  
下载已有的文件改怎么改呢?你的是下载文件的内容都通过java类写了啊

相关推荐

    Struts框架中struts-config.xml文件配置小结

    ### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...

    struts.xml和applicationContext.xml、web.xml的配置

    总结来说,`struts.xml` 负责Struts2的Action配置,`applicationContext.xml` 管理Spring的Bean和依赖,而`web.xml` 定义了Web应用的基本结构和组件。这三个文件共同协作,构建了一个功能完善的Java Web应用,实现了...

    struts.xml

    struts.xml文件配置解释,对action配置进行说明

    struts.xml文件详解.doc

    Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....

    Struts2中Struts.xml配置文件详解

    "Struts2 中 Struts.xml 配置文件详解" Struts2 中的 Struts.xml 配置文件是 Struts2 框架的核心配置文件,用于定义应用程序的行为和结构。在 Struts.xml 文件中,我们可以定义 package、action、interceptor、...

    spring在web.xml中和在struts中的不同配置..pdf

    Struts2的Spring插件会在Struts配置文件(如struts.xml)中定义一个`&lt;package&gt;`,包含`&lt;interceptors&gt;`和`&lt;default-interceptor-ref&gt;`元素,这样Struts2就会知道如何与Spring协作,将Action实例化和依赖注入交给...

    struts-config.xml配置文件详解

    Struts-config.xml 配置文件详解 Struts-config.xml 是 Struts 框架的主要配置文件,用于配置 Struts 应用程序的各种设置。在该文件中,可以配置数据源、Form Bean、Action 和插件等信息。下面是 Struts-config.xml...

    struts.xml和struts.properties配置详解

    `struts.xml`是Struts2的核心配置文件,它负责定义动作(Action)、结果(Result)、拦截器(Interceptor)等核心元素,控制着应用程序的流程。以下是一些主要的配置元素: 1. ****: 定义一个包,可以包含多个...

    struts.xml配置文件详解

    通过对`struts.xml`配置文件的详细解析,我们可以看到Struts 2框架的强大之处在于其高度可配置性。开发者可以通过简单的XML配置即可实现复杂的功能需求。了解并掌握这些配置项对于高效开发基于Struts 2的应用程序至...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...

    struts1中web.xml配置详解

    在 struts1 框架中,web.xml 文件是必不可少的配置文件之一,它用于配置 Struts 应用程序的核心组件 ActionServlet。本文将详细解释 web.xml 文件中的配置项和相关知识点。 1. 配置 Struts 的 ActionServlet 在 ...

    struts2属性文件struts.xml的配置

    通过以上分析可以看出,`struts.xml`文件是Struts2项目的核心配置文件之一,它不仅定义了项目的全局配置,还具体指定了每个Action的行为和返回结果,是Struts2框架中不可或缺的一部分。开发者可以根据实际需求调整...

    struts-config.xml

    除了上述元素,`struts-config.xml`还允许定义其他元素,如`&lt;action-forward&gt;`用于定义Action内部的转发,以及`&lt;message-resource&gt;`来配置应用程序的消息资源文件。 正确理解和配置`struts-config.xml`是开发Struts...

    ·Struts2配置文件介绍 超级详细

    - **struts.xml**:这是Struts2框架的核心配置文件,定义了应用程序中的Action映射、结果类型以及拦截器等关键配置信息。它主要包含以下几个元素: - `package`:表示一个包,其中可以包含多个Action。 - `action`...

    struts.xml(struts2配置)

    `struts.xml`是Struts2框架的核心配置文件,用于定义应用程序的行为、控制器、动作映射、结果类型和其他关键组件。下面我们将深入探讨`struts.xml`的各个方面。 1. **配置文件结构** `struts.xml`文件通常位于项目...

    在web.xml中配置action或.do

    本文将详细介绍如何在`web.xml`中配置action或.do文件,以实现特定的功能需求。 #### 二、背景知识 在早期的Struts框架中(Struts 1),开发者经常需要在`web.xml`中配置action映射来处理HTTP请求。随着技术的发展...

    struts.xml常用配置解析

    Struts.xml配置文件是Struts2框架的核心配置文件,它定义了应用的行为和结构。本文主要解析了其中两个重要的配置元素:`&lt;include&gt;`标签和Action的别名。 首先,我们来看 `&lt;include&gt;` 标签的使用。当Struts2的应用中...

    Struts2中struts_xml的Action配置详解

    Struts2作为一款强大的MVC框架,其核心配置文件`struts.xml`在应用程序中扮演着至关重要的角色。本文将深入解析`struts.xml`中的Action配置,帮助开发者更好地理解和运用这一关键组件。 首先,Action配置是Struts2...

    Struts-config.xml配置详解

    Struts的配置文件通常命名为struts-config.xml,它是整个Struts应用的核心配置文件,通过定义一系列的XML元素来设定框架的不同功能和行为。下面将详细介绍struts-config.xml中8个主要配置元素的功能和使用方法。 1....

Global site tag (gtag.js) - Google Analytics