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

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配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置...

    完整struts2文件上传示例

    最近在做struts2的学习研究,这里共享一份完整能运行的示例

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

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

    jsp中struts2.0标签应用示例

    jsp中struts2.0标签应用示例,介绍了部分标签的使用,里面有详细的文档说明。

    Struts2文件上传示例

    自己使用struts2写的一个文件上传示例代码,可以实现对文件的大小控制、格式控制等,里面注释写得比较详细,给大家分享一下子

    struts2文件上传下载示例

    基于struts2实现了单一文件上传,多文件上传和文件下载的功能.

    struts文件上传示例

    struts 上传文件的示例,是一个myeclipse工程

    Struts2文件上传程序示例

    本程序为struts2文件是上传程序。解压后就可以使用。程序比较简单适合于初学者。奔驰呢工序仅供参考。严禁用于其他用途

    struts2 in acton 示例源代码(2)

    struts2 in acton 示例源代码,文件超过15M,只能分开了。

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

    struts2 文件上传和下载示例程序 http://blog.csdn.net/zhiweiv/archive/2008/10/13/3070610.aspx

    Struts2 上传图片示例

    Struts2 的简单上传。功能基本实现。

    Struts2学习示例

    struts2 示例 目的:构建struts2开发框架 适合:有一定struts2基础 实现:通过对用户信息的基本操作来给大家做个示范 1、struts2的搭建 2、web.xml文件的简单配置 3、struts.xml文件的简单配置 4、网站初始化工作...

    struts.xml文件详解示例代码

    struts.xml文件详解示例代码,可以参照http://blog.csdn.net/jiajia333666/article/details/47979919 阅读。

    struts1上传下载示例

    文档讲述了利用strurts1来上传和下载文件,远程也可以进行上传和下载!

    struts-2.5.16-源码+示例(S2-057漏洞演示环境)

    文件包含struts-2.5.16-源码+示例,利用附件文件可以很方便的搭建出调试S2-057的漏洞环境,欢迎各位取用

    struts2+ireport+jasperreport报表设计简单示例

    使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...

    struts2文件下载

    通过struts2实现以action的方式来下载文件的示例代码

    struts2+hibernate学习示例

    struts2+Hibernate 示例 目的:构建struts2开发框架 使用 Hibernate作为持久层操作 适合:有一定struts2基础 实现:通过对用户信息的基本操作来给大家做个示范 1、struts2的搭建 2、web.xml文件的简单配置 3、...

    struts-2.3.24简单示例以及相关jar包

    包括一个最简单的struts2入门示例,导入项目即可运行。 还有struts-2.3.24-all.zip即所有jar包,官方示例,官方文档。(除struts2-rest-showcase.war,struts2-showcase.war这两个文件,为了保证小于60m)

Global site tag (gtag.js) - Google Analytics