- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts 2中实现文件上传
窗体顶端
Max On JavaThe value of hands-on experience as compared to book learning is smaller in software development than in many other fields.
BlogJava???首页???新随笔?联系???聚合???管理
随笔-32? 评论-1911? 文章-0? trackbacks-0
在Struts 2中实现文件上传
前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题。
实现原理
Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。
具体实现
前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts作为框架的。以下是例子所依赖类包的列表:
?清单1 依赖类包的列表
首先,创建文件上传页面FileUpload.jsp,内容如下:
%?@ page language?=??java??contentType?=??text/html; charset=utf-8??pageEncoding?=??utf-8??%?%?@ taglib prefix?=??s??uri?=??/struts-tags??%?!?DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN /TR/xhtml1/DTD/xhtml1-transitional.dtd???html?xmlns?=/1999/xhtml???head??? ???title??Struts 2 File Upload?/?title??/?head???body??? ???s:form?action?=fileUpload?method?=POST?enctype?=multipart/form-data??? ? ? ???s:file?name?=myFile?label?=Image File?/?? ? ? ???s:textfield?name?=caption?label?=Caption?/?? ? ? ?? ? ? ???s:submit?/?? ??/?s:form??/?body??/?html?
清单2 FileUpload.jsp
在FileUpload.jsp中,先将表单的提交方式设为POST,然后将enctype设为multipart/form-data,这并没有什么特别之处。接下来,s:file/标志将文件上传控件绑定到Action的myFile属性。
其次是FileUploadAction.java代码:
?package?tutorial;?import?java.io.BufferedInputStream;?import?java.io.BufferedOutputStream;?import?java.io.File;?import?java.io.FileInputStream;?import?java.io.FileOutputStream;?import?java.io.InputStream;?import?java.io.OutputStream;?import?java.util.Date;?import?org.apache.struts2.ServletActionContext;?import?com.opensymphony.xwork2.ActionSupport;?public?class?FileUploadAction?extends?ActionSupport?{?? ??private?static?final?long?serialVersionUID?=?572146812454l?;?? ??private?static?final?int?BUFFER_SIZE?=?16?*?1024?;?? ??? ??private?File myFile;?? ??private?String contentType;?? ??private?String fileName;?? ??private?String imageFileName;?? ??private?String caption;?? ??? ??publi
文档评论(0)