跪求一份struts2.0下载文件的例子,要求可用~~~~~~~~~~

storm_1984 2010-08-11 11:38:58
storm_1984@126.com
...全文
141 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
king138888 2010-08-11
  • 打赏
  • 举报
回复
你可以试试这个:
http://download.chinaprj.cn/detail/iEOOrriE
yearnqiao 2010-08-11
  • 打赏
  • 举报
回复
自我觉得 你可以看网上的一些例子

自己组织思路,动手做一个,到时候就知道,其实一点都不难
storm_1984 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hacqing 的回复:]
代码呢,不想写,自己去写.看看你的邮箱地址.1984...
struts2写下载的程序主要是要考虑编码问题.
[/Quote]
没办法,出家晚
dada_fangfang 2010-08-11
  • 打赏
  • 举报
回复
第一步:
action中增加方法(必须,且方法名字为get+struts.xml的inputName属性):
public InputStream getInputStream() throws Exception {
String link = "服务器工程下文件路径/XXX.xls";
//编码根据需要,自己转,无非就GBK,utf-8,iso-8859-1三者转换,如果不熟,慢慢尝试
shortName = new String(shortName.getBytes("GBK"),"ISO-8859-1");
//下载保存时的文件名
ServletActionContext.getResponse().addHeader("Content-disposition",
"fileName=\"" + shortName + "\"");
//返回服务器路径下的流文件
return ServletActionContext.getServletContext().getResourceAsStream(link);
}

第二步:
struts.xml
<action name="xxx" class="xxx" method="xxx">
<result name="downLoad" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
excel格式(其他格式,可以上网查询,很好找)
<param name="inputName">inputStream</param> 定义入口方法名
<param name="bufferSize">2048</param>文件大小 单位kb
</result>
</action>

第三步:
action中测试下载
public String execute(){
return "downLoad";
}
hacqing 2010-08-11
  • 打赏
  • 举报
回复
代码呢,不想写,自己去写.看看你的邮箱地址.1984...
struts2写下载的程序主要是要考虑编码问题.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧