`

struts2使用注解方式下载文件

阅读更多
  使用Struts2 ,很多人都知道怎么用配置文件的形式实现文件下载 ,但是这样做,要写配置文件确实麻烦,那有没有更方便点的方法呢,有!

使用注解@Annotation的方式就可以省去写配置文件的步骤,在java代码 中的Action上加上“文件下载”的注解即可,具体怎么加呢!?

我们来看一个例子吧,用例子说话胜过千言万语。

 

@Results( { @Result(name = "download", type = "stream", params = { "contentType", "application/vnd.ms-excel",

  "inputName", "inputStream", "contentDisposition", "attachment;filename=/"${downloadFileName}/"", "bufferSize",

  "4096" }) })

public class DownLoad2Action extends ActionSupport{

      public static final String DOWNLOAD
 = "download";

      private String fileName;// 初始的通过param指定的文件名属性

      public String getFile() throws Exception{

             setFileName("add的.xls");

             return “download”;

}



public InputStream getInputStream() throws Exception {

  WritableWorkbook workbook = Workbook.createWorkbook(new File("d://a.xls"));

  WritableSheet sheet = workbook.createSheet("测试", 0);



  Label label = new Label(0, 0, "hello world 从");

  sheet.addCell(label);

  workbook.write();

  workbook.close();

  return new FileInputStream(new File("d://a.xls"));

}



/** 提供转换编码后的供下载


用的文件名 */



public String getDownloadFileName() {



  String downFileName = fileName;

  try {

   downFileName = new String(downFileName.getBytes(), "ISO8859-1");

  } catch (UnsupportedEncodingException e) {

   e.printStackTrace();

  }

  return downFileName;

}



public void setFileName(String fileName) {

  this.fileName = fileName;

}

}



访问的URL
:down-load2!getFile.action



params 中使用键值对进行设置:key1,value1,key2,value2.....;对应response相应头信息




分享到:
评论

相关推荐

    Struts2全注解方式实现文件上传与下载

    在本资源中,我们将探讨如何利用Struts2的注解方式来实现文件的上传和下载功能,这对于任何Web应用来说都是至关重要的特性。 首先,我们来看“注解”在Struts2中的作用。Struts2允许开发者使用注解来配置Action类,...

    Struts2使用注解实现文件的上传与下载

    本文将深入探讨如何使用Struts2的注解来实现文件的上传与下载。 首先,我们需要了解Struts2中的两个关键注解:`@Action` 和 `@Result`。`@Action`注解用于定义一个方法作为处理请求的Action,而`@Result`注解则用来...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    struts2利用注解annotation实现文件下载

    本文将详细介绍如何使用Struts2框架结合注解(Annotation)的方式实现文件下载功能。 #### 一、Struts2框架简介 Struts2是一个基于MVC架构的Java Web应用框架,它继承了Struts1的优点,并在此基础上进行了改进。...

    struts2文件上传下载(注解版)

    下面将详细介绍这个“struts2文件上传下载(注解版)”项目的关键知识点。 1. **注解配置**: 在传统的Struts2配置中,我们需要在struts.xml文件中手动配置Action类与结果页面的映射。然而,使用注解可以在Action...

    Struts2框架及注释和用法

    Struts2提供了强大的表单验证功能,通过XML或者注解方式定义验证规则。例如,`@Size(max=10)`限制输入长度,`@NotEmpty`确保字段非空。 **7. 视图层** 视图通常由JSP页面构成,Struts2提供了标签库,如`s:property`...

    Struts 2使用注解配置Action

    然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML配置的繁琐。 在"Struts 2使用注解配置Action"中,我们不再需要在struts.xml中为每个Action类手动添加配置。相反,我们...

    Struts2+Jquery+Ajax

    Struts2作为Controller层,通过Action类来实现业务逻辑,并通过配置文件或注解来定义Action与URL的映射关系。 Jquery是一个高效的JavaScript库,简化了HTML文档遍历、事件处理、动画以及Ajax交互。它使得开发者能更...

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

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

    Struts2文件上传与下载

    2. **创建Action类**:定义一个Action类,该类通常包含一个用于接收文件的字段,使用`@Params`注解指定参数类型为`java.io.File`或`org.apache.struts2.dispatcher.multipart.UploadedFile`。 ```java public ...

    struts2注解登陆

    Struts2注解登录是Java Web开发中一种简化配置的方式,它允许开发者在代码中直接定义控制器、动作和结果页面的映射,从而避免了传统方式下需要在`struts.xml`配置文件中的繁琐设置。这种做法提高了代码的可读性和可...

    Struts2+spring注解配置

    Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可完成Action的配置。 **Struts2 注解配置** 1. **Action 注解** - `@Action` 用于标记一个类或方法作为 Struts2 ...

    简单使用注解的方式struts2的图片上传

    虽然我们使用注解减少了XML配置,但仍然需要在Struts2的核心配置文件struts.xml中进行基本设置,如开启注解支持,指定默认的Action包等。这使得Struts2能够识别和处理注解。 4. **环境要求** 本项目基于Java 8、...

    Struts2 注解 Demo

    在实际项目中,使用Struts2注解能够减少XML配置文件的体积,提高开发效率,使得代码更加模块化。同时,由于注解是类型安全的,可以减少因为拼写错误而导致的配置问题。 在`Struts2Demo`项目中,你还可以学习到如何...

    struts2实例 自定义过滤器 文件上传下载 登录功能

    开发者需要在Action类中创建适当的字段来接收文件,并使用Struts2的`@FileUpload`注解或`CommonsFileUploadInterceptor`拦截器来处理文件。文件下载则涉及到响应头的设置,以指示浏览器以附件形式下载文件。本实例...

    Struts2注解开发jar

    在Struts2框架中,注解开发是一种简化配置的方式,它允许开发者在类或方法级别直接标注,以定义动作、结果、参数等信息,从而减少XML配置文件的使用。本知识点将详细介绍Struts2中的注解开发及其核心组件。 标题...

    struts框架-文件上传下载

    在Action类中,使用`@SkipValidation`注解标记文件上传方法,然后定义对应的`java.io.File`或`org.apache.struts2.dispatcher.multipart.FileItem`类型的属性。此外,还可以使用Struts2的`ParametersInterceptor`...

    struts2的上传,下载,删除文件

    在本篇中,我们将聚焦于Struts2中的文件上传、下载和删除功能,这些是Web应用中常见的需求。 1. 文件上传: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它处理了多部分表单数据。首先,你需要在`...

    struts2中的文件上传和下载示例

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括文件上传和下载。在Struts2中处理文件上传和下载是常见的需求,对于构建交互式的Web应用来说至关重要。以下将详细介绍Struts2中如何实现这两个...

    Struts2之struts2文件上传详解案例struts011

    为了支持文件上传,我们需要创建一个继承自`org.apache.struts2.dispatcher.multipart.MultiPartRequest`的Action类,或者使用Struts2提供的`org.apache.struts2.views.util.DefaultMultiPartRequest`。这个类可以...

Global site tag (gtag.js) - Google Analytics