诚心请教
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;
}
}
分享到:
相关推荐
在JAVAeye等社区中,可能包含的文章和案例展示了如何在实际项目中运用Struts2构建动态树。这些案例可能涵盖了从简单的静态树到复杂的动态加载树,以及如何处理异步请求和错误处理等各种情况。 7. **最佳实践** - ...
Java Struts2 OGNL(Object-Graph Navigation Language)标签是用于在JSP页面中动态地访问和操作Java对象的强大工具。以下是对这些知识点的详细解释: 1. **对象树的访问**: OGNL允许开发者通过点号(`.`)来遍历...
JavaEye热点阅读是JavaEye论坛推出的2009年2月特辑,旨在为Java学习者和开发者提供最新的知识及行业动态。这份资料包含了多个Java相关的主题,包括但不限于并发编程、开源项目、设计模式、框架应用以及软件开发实践...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展的企业级应用程序。然而,在实际开发和部署过程中,开发者可能会遇到各种问题,其中包括过滤器(Filter)错误。本篇文章将详细探讨在Struts2.0中如何解决...
Struts、Spring 和 Hibernate 是Java开发中非常著名的三个开源框架,它们在企业级应用开发中起着关键作用。Struts 是一个 MVC(Model-View-Controller)架构的 Web 框架,Spring 提供了一个全面的后端服务管理平台,...
### Struts2中OGNL表达式的使用与具体实例解析 #### 一、OGNL概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性值。它广泛应用于Struts2框架中,用于简化...
struts2表单标签 1 1、struts资源文件中文解决方法 1 2、开发struts2流程 1 3、创建拦截器: 2 4.标签中引用资源文件内容 3 5.创建资源文件 3 6.Action中访问servlet API 3 7.Action访问资源文件 3 8.资源文件_...
javaeye被黑 大家看看
此jar包含dwr2 对struts2的支持,是转载的别人编译的jar,只不过在那个javaEye上要注册,为了更为方便,遂上传在csdn上,且不需分数。
在本人修改的该版本彻底解决了以上问题(和本人上传的struts2-jasperreport-plugin-adjust3.1 相比,稍有变动),此次以相对低分分享于jar及源码【毕竟之前仅jar收取5分,为公平起见,收取4分,望见谅,您可以注册...
【JavaEye月刊2008年4月总第2期】主要涵盖了多个与Java相关的技术和行业动态。以下是对这些内容的详细解析: 1. **Spring创始人Rod Johnson再次发飙—“传统Java应用服务器正在没落”** Rod Johnson是Spring框架的...
### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...
然而,当你试图在WordPress中寻找与JavaEye类似的代码高亮插件时,可能并未找到完全匹配的解决方案,因此你决定将JavaEye的代码高亮功能提取出来并应用到自己的WordPress站点上。 在你提供的压缩包文件中,我们可以...
\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar\ajaxtest2(表格javaEye).rar
用户只需要下载提供的文件,然后找到麦库客户端安装目录下的“editor”文件夹,将下载的文件覆盖到该位置即可完成安装。这暗示了插件可能是一个自包含的文件集,不需要复杂的配置或者安装过程,只需替换原有文件就能...
javaeye的信息提示框代码之css,application.js
JavaEye+技术架构,讲述java框架的应用