`
fbxyfszc30000
  • 浏览: 29085 次
社区版块
存档分类
最新评论

struts2文件下载示例

阅读更多

    ?

package com.topdt.policesms.action;

?

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.InputStream;

?

import org.apache.struts2.convention.annotation.Action;

import org.apache.struts2.convention.annotation.InterceptorRef;

import org.apache.struts2.convention.annotation.Namespace;

import org.apache.struts2.convention.annotation.ParentPackage;

import org.apache.struts2.convention.annotation.Result;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Controller;

?

import com.topdt.frame.base.Struts2Action;

import com.topdt.frame.common.AppContext;

import com.topdt.policesms.model.DataLog;

import com.topdt.policesms.service.DataLogService;

?

/**

?* 数据日志

?* @author Administrator

?*

?*/

@Controller

@Scope("prototype")

@ParentPackage(value = "gloab-package")

@Namespace(value = "/message")

@Action(value = "dlog", results = {

<span style="white-space: pre;"> </span>@Result(name = "list", location = "/message/dlog/dlog_list.jsp"),

<span style="white-space: pre;"> </span>@Result(name = "download", type = "stream<span style="color: #ff0000;">(类型为流)</span>", params = { "contentType",

<span style="white-space: pre;"> </span>"application<span style="color: #ff0000;">(应用程序)</span>/octet-stream;charset=ISO8859-1", "inputName<span style="color: #ff0000;">(输入文件名称)</span>",

<span style="white-space: pre;"> </span>"fstream", "contentDisposition", "attachment;filename=<span style="color: #ff0000;">${downloadFileName}</span>",

<span style="white-space: pre;"> </span>"bufferSize", "4096" }),

<span style="white-space: pre;"> </span>@Result(name = "invalid.token",type="redirect",location = "task!list.action",params = {"message", "请不要重复提交" })?

<span style="white-space: pre;"> </span>},?

<span style="white-space: pre;"> </span>interceptorRefs = {

<span style="white-space: pre;"> </span>@InterceptorRef(value = "pageInterceptor", params = { "includeMethods", "list" }),

<span style="white-space: pre;"> </span>@InterceptorRef(value = "token", params = { "includeMethods", "save" }),

<span style="white-space: pre;"> </span>@InterceptorRef("topDtStack")?

<span style="white-space: pre;"> </span>})

public class DataLogAction extends Struts2Action<DataLog>{

?

<span style="white-space: pre;"> </span>private static final long serialVersionUID = 1792436660779570837L;

?

<span style="white-space: pre;"> </span>@Autowired

<span style="white-space: pre;"> </span>private DataLogService dataLogService;

<span style="white-space: pre;"> </span>private String statDate;

<span style="white-space: pre;"> </span>private String endDate;

<span style="white-space: pre;"> </span><span style="color: #ff0000;">private InputStream fstream;</span>

<span style="white-space: pre;"> </span><span style="color: #ff0000;">private String inputPath;</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>private String fileName</span>;

<span style="white-space: pre;"> </span>

? ? public void setInputPath(String value) {

? ? ? ? inputPath = value;

? ? }

?

? ? public void setFileName(String fileName) {

<span style="white-space: pre;"> </span>this.fileName = fileName;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>@Override

<span style="white-space: pre;"> </span>protected void doList() throws Exception {

<span style="white-space: pre;"> </span>list = dataLogService.queryDataLog(statDate, endDate, getModel().getDataType());

<span style="white-space: pre;"> </span>}

?

<span style="color: #ff0000;">//取得文件名称</span>

?

<span style="white-space: pre;"> </span><span style="color: #ff0000;">public String getDownloadFileName(){</span>

<span style="color: #ff0000;">? ? <span style="white-space: pre;"> </span>String downFileName=fileName;</span>

<span style="color: #ff0000;">? ? <span style="white-space: pre;"> </span>try {</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>downFileName=new String(downFileName.getBytes(),"ISO8859-1");</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>} catch (Exception e) {</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>e.printStackTrace();</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>return downFileName;</span>

<span style="color: #ff0000;">? ? }</span>

<span style="color: #ff0000;">//下载文件</span>

<span style="white-space: pre;"> </span><span style="color: #ff0000;">public String downLog () {</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>inputPath = AppContext.getProperties("breakDataDir")+fileName;</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>try {</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>fstream = new FileInputStream(new File(inputPath));</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>} catch (FileNotFoundException e) {</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>e.printStackTrace();</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>return "download";</span>

<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>

<span style="white-space: pre;"> </span>

<span style="white-space: pre;"> </span>public DataLogService getDataLogService() {

<span style="white-space: pre;"> </span>return dataLogService;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public void setDataLogService(DataLogService dataLogService) {

<span style="white-space: pre;"> </span>this.dataLogService = dataLogService;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public String getStatDate() {

<span style="white-space: pre;"> </span>return statDate;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public void setStatDate(String statDate) {

<span style="white-space: pre;"> </span>this.statDate = statDate;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public String getEndDate() {

<span style="white-space: pre;"> </span>return endDate;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public void setEndDate(String endDate) {

<span style="white-space: pre;"> </span>this.endDate = endDate;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public InputStream getFstream() {

<span style="white-space: pre;"> </span>return fstream;

<span style="white-space: pre;"> </span>}

?

<span style="white-space: pre;"> </span>public void setFstream(InputStream fstream) {

<span style="white-space: pre;"> </span>this.fstream = fstream;

<span style="white-space: pre;"> </span>}

?

}

?

?

HTML :代码:<a href='dlog!downLog.action?fileName=<s:property value="#dlog.errorDetail"/>'>错误详细</a>

 
0
1
分享到:
评论

相关推荐

    完整struts2文件上传示例

    以下是对"完整Struts2文件上传示例"的详细解释: 1. **配置Struts2框架** 在Struts2中,我们首先需要在`struts.xml`配置文件中添加相关的拦截器(interceptor)来处理文件上传。`struts.multipart.parser`属性应...

    struts2实现文件下载功能

    在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...

    struts2文件上传下载源代码

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

    struts2验证框架示例

    这个“struts2验证框架示例”提供了深入理解并实际操作Struts2验证功能的机会。 首先,让我们了解一下Struts2验证框架的基本概念。验证框架基于两个主要组件:Validation拦截器和Action类中的验证配置。Validation...

    Struts2+hibernate示例

    这个"Struts2+Hibernate示例"项目中,sh.sql可能是一个数据库脚本文件,用于初始化数据库表结构;而sh文件可能是一个包含具体代码或者配置信息的文件,例如Struts2的Action类、Hibernate的实体类或配置文件。通过...

    Struts2 应用程序示例

    这个"Struts2应用程序示例"是专为初学者和开发者设计的,它利用Eclipse 3.3作为集成开发环境,JDK 6.0作为Java运行环境,以及Tomcat 6.0作为应用服务器,提供了实际操作的平台来理解和实践Struts2的核心概念。...

    Struts2框架程序示例

    通过学习和实践这个Struts2框架程序示例,开发者可以深入理解Struts2的工作原理,掌握如何创建Action、编写Interceptor、配置Action与Result的映射,以及如何利用Struts2的其他特性来提高开发效率和代码质量。...

    Struts2文件上传示例

    通过这个Struts2文件上传示例,我们可以了解到文件上传的基本流程,包括前端表单设计、后台Action处理以及Struts2配置。在实际开发中,我们还可以根据需求扩展这个示例,比如增加多文件上传、异步上传等功能。

    struts2文件上传下载示例

    本示例将详细介绍如何在Struts2框架下实现单一文件上传、多文件上传以及文件下载功能。 1. 单一文件上传: 在Struts2中,我们可以使用`org.apache.struts2.interceptor.FileUploadInterceptor`拦截器来处理文件...

    Struts的文件下载

    在Struts中实现文件下载是一项常见的功能,尤其在处理用户请求获取服务器上的静态或动态资源时。这篇博文将深入探讨如何在Struts框架下实现文件下载的功能。 首先,我们需要了解文件下载的基本原理。当用户点击下载...

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

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

    Struts2示例demo

    标题"Struts2示例demo"暗示我们将探讨一个实际的应用场景,即如何使用Struts2框架来开发Web应用。这个示例可能包括创建Action类、配置struts.xml、设定JSP视图和处理用户请求等多个步骤。 描述中的"Struts示例demo...

    最简单的Struts2的代码示例

    这个"最简单的Struts2的代码示例"旨在帮助初学者快速理解和上手Struts2框架的基本用法。 首先,我们从MVC架构开始。在Struts2中,模型由业务逻辑处理,视图负责展示用户界面,而控制器接收用户的请求,处理业务逻辑...

    struts2_uploadify带进度条的多文件上传下载

    总之,这个项目实例为使用Struts2和Uploadify实现带进度条的多文件上传及下载功能提供了一个基础模板,对于学习和实践此类功能的开发者来说是一个有价值的参考。通过深入研究和理解这个项目的代码,可以提升对Struts...

    Struts2文件上传程序示例

    这个示例程序旨在帮助初学者理解如何在Struts2框架下实现文件上传。 首先,我们需要了解Struts2文件上传的核心概念和组件。在Struts2中,文件上传主要依赖于Apache Commons FileUpload库。这个库提供了处理HTTP多...

    Struts2 HelloWorld示例(Maven项目)

    这个“Struts2 HelloWorld示例”是一个基础的Maven项目,旨在帮助初学者理解如何在实际开发环境中设置和运行一个简单的Struts2应用。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过使用一个项目对象模型...

    struts2 文件上传和下载示例程序

    这个“Struts2 文件上传和下载示例程序”是一个演示如何在Struts2中实现这两个功能的实例。 文件上传是Web应用程序中的一项重要功能,允许用户从本地计算机选择文件并将其传输到服务器。在Struts2中,这一过程涉及...

    Struts 2简单小示例

    在这个"Struts 2简单小示例"中,我们可能看到一个简单的Action类、配置文件、以及一个展示结果的JSP页面。通过学习和实践这个示例,开发者能够对Struts 2的工作原理和基本操作有一个清晰的理解,为进一步深入学习和...

Global site tag (gtag.js) - Google Analytics