struts2中关于下载的实例应用
来源:互联网 发布:淘宝首页1920全屏装修 编辑:程序博客网 时间:2024/05/15 02:37
这次说一下struts2中对文件下载的应用,相比文件上传,下载应该说更加的简单,struts2已经很好地封装了下载文件的方法,只需要极少代码和配置文件就能搞定
现在还是用邮件附件下载的实例来说一下struts2的下载的应用
我是在ssh框架下开发的,所以在action可以这样来写邮件附件下载
public class EmailAction extendsActionSupport implements ModelDriven {
private Email email;
privateint User_Id;
privateInputStream downFile; //一定要有这个,不然struts2无法将文件内容以流的形式发送到页面上去
这儿还是省略了sette和getter,自己添加吧
//下载的方法
public String downLoad() {
//先通过页面传回来的邮件的ID,将邮件数据从数据库查出来
email= emailService.showEmailById(email.getId());
//根据数据库查出的数据,找到要下载的文件所在的路径。
StringdownloadPath = ServletActionContext.getServletContext()
.getRealPath("/upload/person"+ email.getId());
//将文件所在路径和文件名拼接组成文件下载路径
StringfileName = downloadPath + File.separatorChar
+email.getEmailFileName();
try{
//将邮件附件以流的形式写入(重要的一步)
downFile= new FileInputStream(new File(fileName));
String emailName = email.getEmailFileName()
emailName= new String(emailName.getBytes(), "ISO-8859-1");//解决中文乱码 return "downloadsuccess";
}catch (FileNotFoundException e) {
e.printStackTrace();
}
return"fail";
}
}
//在下载中,大家也可以看到,他的代码其实很简单,最主要的是struts.xml中的下载配置才最重要。看代码
这是在action中用于下载的result。
//这儿是访问下载的action后,成功后type为stream,
<result name="downloadsuccess"type="stream" >
//这个参数一定要写,指明输入的名称
<paramname="inputName">downFile</param>
<param
//配置下载后文件的名称
name="contentDisposition">attachment;filename=${emailName}
</param>
//设置缓冲区大小
<paramname="bufferSize">1024</param>
</result>
这样一个struts2的下载demo就算完成了。
- struts2中关于下载的实例应用
- struts2中上传文件的实例应用
- 关于struts2中Action实例
- Struts2中关于label标签的声明应用
- 最简单的Struts2下载图片实例
- 关于实例下载的说明
- python中关于cur.connect()等方法的应用实例
- struts2文件下载实例
- struts2下载实例
- Struts2的第一个应用实例
- Struts2的第一个应用实例
- 完整的struts2框架应用实例
- 关于Struts2下载的文件名中文乱码
- 关于AOP的应用实例
- 关于AOP的应用实例
- 关于游标的应用实例
- 关于Map的应用实例
- 关于Struts2的一些实例代码
- 分页SQL取下一页
- 使用JDBC时Class.forName()的作用
- 1030 Travel Plan (30)
- FreeRTOS时钟配置——Cortex-M3
- win2003 服务器安全设置教程
- struts2中关于下载的实例应用
- 为什么写博客?
- CocosBuilder绑定到cocos2d-x
- Confluence 页面属性报表(Page Properties Report)宏
- 20140226签到帖
- python的作用域
- 苦情男孩写给自己的一封情书
- Nginx slab 分配机制
- iOS项目的目录结构和开发流程