`
heqingkelly
  • 浏览: 561 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts2 动态文件下载 (在javaeye里搜索过,没找到满意的)

阅读更多

诚心请教

struts2 文件下载,我想把一个文件下的文件全部显示在页面上,
每个文件后有个下载链接,点击“下载”,就可以下载到硬盘上了,struts.xml,
Filedownload.java ,我只会写到这了。

如果大家有空就帮我看看,谢谢!

还要解决中文问题!!!
请会的人帮帮我,非常感谢!我已经做了好长时间了
在其他论坛帖了好几天了,只有看的,没回复的,加了
10几个java高级群也是这样因此帖到javaeye,希望大家能够帮忙!
在外面学,没有老师,只能通过这些方式了!


struts.xml

<struts> 
    <constant name="struts.devMode" value="true" /> 
    <constant name="struts.i18n.encoding" value="GBK"/> 
    <package name="default" namespace="/" extends="struts-default"> 
        <action name="filedownload" class="com.heqing.action.Filedownload"> 
       
        <!--<interceptors>  
            <interceptor name="downloadinterceptor" 
                class="com.heqing.DownloadInterceptor">  
            </interceptor>  
            <interceptor-stack name="myinterceptor">  
                <interceptor-ref name="downloadinterceptor" />  
                <interceptor-ref name="defaultStack"></interceptor-ref>  
            </interceptor-stack>  
        </interceptors>  
--> 

            <param name="fileName"></param>   <!-- 设置文件名参数,由页面上传入 -->   
            <result name="success" type="stream">  
                <param name="contentType">application/octet-stream</param>   <!-- 下载文件类型定义 -->  
                <param name="contentDisposition">       <!-- 下载文件处理方法 --> 
                    attachment;filename="${downloadChineseFileName}" 
                </param>  
                <param name="inputName">downloadFile</param>  <!-- 下载文件输出流定义 --> 
            </result>  
        </action> 
    </package> 
</struts> 


 

Filedownload.java

import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class Filedownload extends ActionSupport {
    // 下载文件原始存放路径
    private final static String DOWNLOADFILEPATH = "/file/";
    // 文件名参数变量
    private String fileName;

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    // 从下载文件原始存放路径读取得到文件输出流
    public InputStream getDownloadFile() {
        return ServletActionContext.getServletContext().getResourceAsStream(DOWNLOADFILEPATH + fileName);
   //这里的filename写成固定的文件名如aa.txt这样就是写死了,只能下载一个,我想filename是一个集合 
   //里面有很多文件可供下载 
    }

    // 如果下载文件名为中文,进行字符编码转换
    public String getDownloadChineseFileName() {
        String downloadChineseFileName = fileName;

        try {
            downloadChineseFileName = new String(downloadChineseFileName
                    .getBytes(), "ISO8859-1");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        return downloadChineseFileName;
    }

    public String execute() {
        return SUCCESS;
    }
}

 

 

分享到:
评论

相关推荐

    Struts2动态树的一些文章和案例

    在JAVAeye等社区中,可能包含的文章和案例展示了如何在实际项目中运用Struts2构建动态树。这些案例可能涵盖了从简单的静态树到复杂的动态加载树,以及如何处理异步请求和错误处理等各种情况。 7. **最佳实践** - ...

    Java struts2 ongl 标签 jsp页面

    Java Struts2 OGNL(Object-Graph Navigation Language)标签是用于在JSP页面中动态地访问和操作Java对象的强大工具。以下是对这些知识点的详细解释: 1. **对象树的访问**: OGNL允许开发者通过点号(`.`)来遍历...

    javaeye热点阅读

    JavaEye热点阅读是JavaEye论坛推出的2009年2月特辑,旨在为Java学习者和开发者提供最新的知识及行业动态。这份资料包含了多个Java相关的主题,包括但不限于并发编程、开源项目、设计模式、框架应用以及软件开发实践...

    struts2_filter_error.rar_filter err

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展的企业级应用程序。然而,在实际开发和部署过程中,开发者可能会遇到各种问题,其中包括过滤器(Filter)错误。本篇文章将详细探讨在Struts2.0中如何解决...

    Struts+spring+hibernate学习笔记! - Struts原理与实践 - JavaEye知识库.files

    Struts、Spring 和 Hibernate 是Java开发中非常著名的三个开源框架,它们在企业级应用开发中起着关键作用。Struts 是一个 MVC(Model-View-Controller)架构的 Web 框架,Spring 提供了一个全面的后端服务管理平台,...

    struts2中ongl表达式的使用和具体实例应用

    ### Struts2中OGNL表达式的使用与具体实例解析 #### 一、OGNL概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性值。它广泛应用于Struts2框架中,用于简化...

    struts2.1宝典

    struts2表单标签 1 1、struts资源文件中文解决方法 1 2、开发struts2流程 1 3、创建拦截器: 2 4.标签中引用资源文件内容 3 5.创建资源文件 3 6.Action中访问servlet API 3 7.Action访问资源文件 3 8.资源文件_...

    javaeye被黑

    javaeye被黑 大家看看

    Dwr2_For_struts2

    此jar包含dwr2 对struts2的支持,是转载的别人编译的jar,只不过在那个javaEye上要注册,为了更为方便,遂上传在csdn上,且不需分数。

    struts2-jasperreport-plugin-2.1.6.1

    在本人修改的该版本彻底解决了以上问题(和本人上传的struts2-jasperreport-plugin-adjust3.1 相比,稍有变动),此次以相对低分分享于jar及源码【毕竟之前仅jar收取5分,为公平起见,收取4分,望见谅,您可以注册...

    javaeye月刊2008年4月 总第2期.pdf

    【JavaEye月刊2008年4月总第2期】主要涵盖了多个与Java相关的技术和行业动态。以下是对这些内容的详细解析: 1. **Spring创始人Rod Johnson再次发飙—“传统Java应用服务器正在没落”** Rod Johnson是Spring框架的...

    JavaEye3.0开发手记

    ### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...

    javaeye代码高亮插件

    然而,当你试图在WordPress中寻找与JavaEye类似的代码高亮插件时,可能并未找到完全匹配的解决方案,因此你决定将JavaEye的代码高亮功能提取出来并应用到自己的WordPress站点上。 在你提供的压缩包文件中,我们可以...

    \ajaxtest2(表格javaEye).rar

    \ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar

    麦库客户端模仿javaeye插入代码高亮插件

    用户只需要下载提供的文件,然后找到麦库客户端安装目录下的“editor”文件夹,将下载的文件覆盖到该位置即可完成安装。这暗示了插件可能是一个自包含的文件集,不需要复杂的配置或者安装过程,只需替换原有文件就能...

    javaeye的信息提示框代码之js

    javaeye的信息提示框代码之css,application.js

    JavaEye+技术架构

    JavaEye+技术架构,讲述java框架的应用

Global site tag (gtag.js) - Google Analytics