Struts2温习(10)--文件上传
自接触这么多种技术的上传来看,还是Struts2的上传最好用,虽然之前有篇文章已经总结了几乎我接触到的所有类型的上传,但Struts2方面感觉讲的还是不够细致。
本文就单文件上传和批量文件上传来进行讲解
具体示例
首页上传页面
?单文件上传的Action
?多文件上传的Action
针对上面两个Action,都得有那么三个属性【上传的文件,文件类型,文件名】,并且开头必须与表单file的name值一样
在Action中添加一个List<File>类型的与页面所有file域同名的属性。private List<File> up;
?添加一个以file域名开头,后面跟ContentType的字符串列表属性,这个由Struts2的文件上传拦截器赋文件类型值。如:private List<String> upContentTyp;
?? ? ? ?添加一个以file域名开头,后面跟FileName的字符串列表属性,这个由Struts2的文件上传拦截器赋文件名的值。如:private List<String> upFileName;
?? ? ? 通过IO流循环操作,完成文件的读写。
记住:在struts2的Action中,对于无论是单个文件上传还是批量上传,就是凡是页面上的file文本域的name=xxx的,?那么Action的三个属性必须为xxx,xxxContentType,xxxFileName
?存放上传类型错误信息的资源文件
?msg_zh_CN.properties
?
msg_en_US.properties
第二种方式在struts.xml中配置
将上边struts.xml中的
?上传后
?如果我们不点击返回继续上传,而是点击浏览器上的后退按钮,那么这时TOKEN将起作用,提示下面的页面
如果我们上传一个不在限定类型内的文件的话,也会报错
?上传后的结果
?对于批量上传
?上传后
?
?
?
?
?
?
?





