struts2 文件上传实例
来源:互联网 发布:淘宝自动回复语大全 编辑:程序博客网 时间:2024/05/16 10:38
一个简单的struts2,文件上传,搞了2个小时,恼火,受到官网上的cookbook的坑害,还是老老实实看书最后搞定,说说几点经验:
1.最重要的action中的三个属性,private File doc;private String docContentType;private String docFileName; doc为表单中file的name 否则会接收不到
2.可以在struts.xml 临时文件的存放路径 <constant name="struts.multipart.saveDir" value="/dcjfile"></constant>,但是不指定也没有问题,会默认tempfile
3.struts的配置
<action name="docAction" class="com.dcj.action.docAction"> <interceptor-ref name="fileUpload"></interceptor-ref> <interceptor-ref name="defaultStack"/> <result name="success">good_result.jsp</result>
4.action中excute的写法:
InputStream is = new FileInputStream(doc);String path = ServletActionContext.getServletContext().getRealPath("/upload");File fileshow = new File(path, this.getDocFileName());OutputStream os = new FileOutputStream(fileshow);byte[] buffer = new byte[500];int length = 0;while ((length = is.read(buffer)) > 0) {os.write(buffer, 0, length);}is.close();os.close();return "success";
5.upload目录放在webroot下
6. struts2的各种文档都木有更新。。害我又弄半天,其实dtd文件已经换地方了。。
Referenced file contains errors (http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd)
原因是http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd已经不是dtd约束文件了,打开网址,发现opensymphony的网址已经迁移走了,因为xwork的东西已经并入struts2中,成为apache的一部分.
所有的dtd已经移交到http://struts.apache.org/dtds/ 这个地方.
以后struts2的校验器的规范要改成:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
- Struts2 上传文件实例
- struts2文件上传实例
- Struts2文件上传实例
- Struts2文件上传实例
- struts2 文件上传实例
- Struts2文件上传实例
- Struts2.0实现单个文件上传实例
- Struts2完成文件的上传功能实例
- struts2的文件上传技术实例详解
- 基于Struts2上传文件实例解析
- struts2中上传文件的实例应用
- Struts2 + uploadify 多文件上传完整实例!
- struts2上传实例
- Struts2上传图片实例
- struts2实现文件的上传和下载实例
- struts2上传文件(三) struts2上传文件
- [Struts2]Struts2的文件上传
- Struts2的文件上传
- Oracle DB 管理ASM实例
- Cocos2D-X教程(IOS以及Android):第一步
- js模仿物理中的自由落体现象
- Astronomy poj 3101 数论 分数的最小公倍数 Cherish the memory of my broken heart
- 二手房贷款计算器
- struts2 文件上传实例
- 打印蛇形矩阵
- Android HTTPpost 提交数据到服务器
- 那些令你叹为观止的404页面
- 动态规划之最长公共子序列
- 求三个整数中的最大值
- cloudfoundry之router源码分析
- 深入浅出Symfony2 - 结合MongoDB开发LBS应用
- 也谈应用程序级的同步、异步、阻塞、非阻塞