Struts2笔记——文件上传
2015-08-27 12:22
495 查看
文件上传概述
* 要想使用HTML 表单上传一个或多个文件, 必须把 HTML 表单的 enctype 属性设置为multipart/form-data,把它的 method 属性设置为post
* 为了让用户能够选择一个文件进行上传, 程序员必须提供一个 <input type=“file”> 字段.
====================================
Struts 对文件上传的支持
* 在 Struts 应用程序里, FileUpload 拦截器和 Jakarta Commons FileUpload 组件可以完成文件的上传.
* 步骤:
> 1. 在 Jsp 页面的文件上传表单里使用 file 标签. 如果需要一次上传多个文件, 就必须使用多个 file 标签, 但它们的名字必须是相同的
> 2. 在 Action中新添加 3 个和文件上传相关的属性. 这 3 个属性的名字必须是以下格式
> uploadImage 是 jsp 页面上的 file 标签的名字.
上传文件:<input type="file" name="uploadImage">
> 如果是上传单个文件, uploadImage属性的类型就是 java.io.File, 它代表被上传的文件, 第二个和第三个属性的类型是 String
它们分别代表上传文件的文件名和文件类型
定义方式是分别是: jsp页面file组件的名称+ContentType,
jsp页面file组件的名称+FileName
> 如果上上传多个文件, 可以使用数组或 List
====================================
单文件上传代码如下
![](http://r.photo.store.qq.com/psb?/V12MyHON4TqWm3/IZny11SDD1SamSHihVkO5vus6Bv1AYlobsbMHoz7DG4!/o/dG8AAAAAAAAA&bo=MAPPATADzwEDACU!)
![](http://r.photo.store.qq.com/psb?/V12MyHON4TqWm3/rb0PKcFpe4XMae6kTXC18fvL98RmuRXrFjVMVT8ilck!/o/dGsAAAAAAAAA&bo=BAPrAAQD6wADACU!)
====================================
File Upload 拦截器
![](http://r.photo.store.qq.com/psb?/V12MyHON4TqWm3/mMqzu8l94IgoXhuRm6Kl7adNSJqNQzw664xdgWIZ780!/o/dIcBAAAAAAAA&bo=XQOrAV0DqwEDACU!)
====================================
在jsp页面显示错误信息
在struts.xml文件中根据
<result name=“input”>/upload/error.jsp</result>中所指向的error.jsp页面可以使用
<s:fielderror/>显示错误信息
====================================
查看struts-messages.properties文件
配置如下:
struts.messages.error.uploading=Error uploading: {0}
struts.messages.error.file.too.large=File too large: {0} "{1}""{2}" {3}
struts.messages.error.content.type.not.allowed=Content-Type not allowed: {0}"{1}" "{2}" {3}
struts.messages.error.file.extension.not.allowed=File extension not allowed: {0}"{1}" "{2}" {3}
{0}:<input type=“file” name=“uploadImage”>中name属性的值
{1}:上传文件的名称
{2}:上传文件保存到临时目录的名称
{3}:上传文件的类型(对struts.messages.error.file.too.large是上传文件的大小)
![](http://r.photo.store.qq.com/psb?/V12MyHON4TqWm3/KK*gfAmmuK31N9RB4cdWCicnvv7oe.bWW5N.aKC5TCw!/o/dIcBAAAAAAAA&bo=5gKdAeYCnQEDACU!)
====================================
修改显示错误的资源文件的信息
第一步:创建新的资源文件 例如fileuploadmessage.properties,放置在src下
在该资源文件中增加如下信息
struts.messages.error.uploading=上传错误:{0}
struts.messages.error.file.too.large=上传文件太大:{0} "{1}" "{2}" {3}
struts.messages.error.content.type.not.allowed=上传文件的类型不允许: {0} "{1}" "{2}" {3}
struts.messages.error.file.extension.not.allowed=上传文件的后缀名不允许: {0} "{1}" "{2}" {3}
第二步:在struts.xml文件加载该资源文件
<!-- 设置comonfileupload上传组件允许的文件大小 才能测试出上传文件过大出现的错误信息 -->
<constant name="struts.multipart.maxSize"value="86170804"/>
<!-- 配置上传文件的出错信息的资源文件 -->
<constant name="struts.custom.i18n.resources" value="fileuploadmessage“/>
====================================
多文件上传代码
* 要想使用HTML 表单上传一个或多个文件, 必须把 HTML 表单的 enctype 属性设置为multipart/form-data,把它的 method 属性设置为post
* 为了让用户能够选择一个文件进行上传, 程序员必须提供一个 <input type=“file”> 字段.
====================================
Struts 对文件上传的支持
* 在 Struts 应用程序里, FileUpload 拦截器和 Jakarta Commons FileUpload 组件可以完成文件的上传.
* 步骤:
> 1. 在 Jsp 页面的文件上传表单里使用 file 标签. 如果需要一次上传多个文件, 就必须使用多个 file 标签, 但它们的名字必须是相同的
> 2. 在 Action中新添加 3 个和文件上传相关的属性. 这 3 个属性的名字必须是以下格式
> uploadImage 是 jsp 页面上的 file 标签的名字.
上传文件:<input type="file" name="uploadImage">
> 如果是上传单个文件, uploadImage属性的类型就是 java.io.File, 它代表被上传的文件, 第二个和第三个属性的类型是 String
它们分别代表上传文件的文件名和文件类型
定义方式是分别是: jsp页面file组件的名称+ContentType,
jsp页面file组件的名称+FileName
> 如果上上传多个文件, 可以使用数组或 List
====================================
单文件上传代码如下
====================================
File Upload 拦截器
====================================
在jsp页面显示错误信息
在struts.xml文件中根据
<result name=“input”>/upload/error.jsp</result>中所指向的error.jsp页面可以使用
<s:fielderror/>显示错误信息
====================================
查看struts-messages.properties文件
配置如下:
struts.messages.error.uploading=Error uploading: {0}
struts.messages.error.file.too.large=File too large: {0} "{1}""{2}" {3}
struts.messages.error.content.type.not.allowed=Content-Type not allowed: {0}"{1}" "{2}" {3}
struts.messages.error.file.extension.not.allowed=File extension not allowed: {0}"{1}" "{2}" {3}
{0}:<input type=“file” name=“uploadImage”>中name属性的值
{1}:上传文件的名称
{2}:上传文件保存到临时目录的名称
{3}:上传文件的类型(对struts.messages.error.file.too.large是上传文件的大小)
====================================
修改显示错误的资源文件的信息
第一步:创建新的资源文件 例如fileuploadmessage.properties,放置在src下
在该资源文件中增加如下信息
struts.messages.error.uploading=上传错误:{0}
struts.messages.error.file.too.large=上传文件太大:{0} "{1}" "{2}" {3}
struts.messages.error.content.type.not.allowed=上传文件的类型不允许: {0} "{1}" "{2}" {3}
struts.messages.error.file.extension.not.allowed=上传文件的后缀名不允许: {0} "{1}" "{2}" {3}
第二步:在struts.xml文件加载该资源文件
<!-- 设置comonfileupload上传组件允许的文件大小 才能测试出上传文件过大出现的错误信息 -->
<constant name="struts.multipart.maxSize"value="86170804"/>
<!-- 配置上传文件的出错信息的资源文件 -->
<constant name="struts.custom.i18n.resources" value="fileuploadmessage“/>
====================================
多文件上传代码
相关文章推荐
- java-常用类
- Struts2笔记——与ServletAPI解耦
- Struts2笔记——与ServletAPI解耦
- java中volatile关键字的含义
- springMVC上传多个文件
- Struts2笔记——通配符和动态方法调用
- Struts2笔记——通配符和动态方法调用
- Struts2笔记——类型转换
- Struts2笔记——类型转换
- Java集合框架
- java的枚举类型初始
- java 集合(arraylist set map)遍历问题
- java-captcha实现验证码(二)
- import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport;这两行报错
- demo2 JAVA变量
- kafka学习(三)--java开发(基于kafka0.8版本)
- Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
- java中四种引用类型
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
- salesforce rest api 登录 | Authenticating to Salesforce using REST, OAuth 2.0 and Java