struts2文件上传详解.
今日跟大家来总结一下struts2文件上传的详解,敲了一些示例代码,因为本人懒,所以代码截图供大家赏阅,如有问题欢迎指正.马上进入正题了...
-------------------------------------------------------------------------------------------------------------------
Struts2文件上传
1.struts2框架文件上传:
浏览器端注意事项:
表单提交方式method=post
表单中必须有一个<input type=”file”>组件
表单中必须设置enctype=”multipart/form-data”
服务器端
Commons-fileupoad.jar包完成。
Struts2框架本身支持文件上传
问题:struts2框架如何完成文件上传?
Struts2框架使用一个fileupload的interceptor来完成文件上传,而我们要使用它
在action中我们可以提供类似以下的操作就能完成文件上传操作
在execute方法中将文件copy就可以完成文件上传。
2.struts2框架文件上传注意事项:
浏览器页面出现找不到input视图错误原因:
1、拦截器执行的时候出现了错误,拦截器会返回input视图,
2、拦截器还会调用当前Action的addActionError,addFieldError存入错误信息,
所以要能在页面上看到拦截器提供的错误信息:提供intput视图对应jsp页面;页面上写<s:actionerror/>,<s:fielderror/>
文件上传时出现了问题
现在的问题是我们的action中没有设置input视图
在页面上可以通过
在default.properties中
struts.multipart.maxSize=2097152 (2m)它是描述文件上传时允许的最大值
只需要在struts.xml文件中设置允许的上传文件大小
我们还可以查看FileuploadInterceptor,设置上传文件允许的后缀名
<paramname="allowedExtensions">bmp,txt</param>
如果我们上传时,允许上传多个文件如何操作?
Action如何处理?
也可以使用List<File> List<String>来控制属性在方法中
上传文件提示国际化
1.大小超过限制回到上传页面并在页面写上<s:actionerror/>标签
2.src下配置国际化文件
3.文字翻译