Struts2之文件上传(单文件/多文件)
<一>简述:
Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用自己去手工配置,<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
<二>指定用户上传文件的大小,有两种方式:
1)默认是在default.properties 文件的 struts.multipart.maxSize=2097152 键值指定为2097152 也就是2M,通过计算 2097152/(1024*1024) = 2 M
那我们可以改变其默认值,只要在src目录下,新建一个 struts.properties 文件,指定上传大小 如下:
一次上传只可以上传10M,不管一次上传多少个文件,按总和计算
2)在struts.xml文件中指定,如图:
其实name就对应struts.properties的键,value对应 值
注意:如果即在struts.properties设定文件上传大小,又在struts.xml 设定文件上传大小,则struts.properties的优先级高于struts.xml,一般在一处指定上传大小即可,推荐 struts.properties
<三>Struts2之单文件上传
1.fileupload.jsp
2.具体处理上传的 FileUpload.java
3.最终显示结果的页面,filedemo.jsp
<四>Struts2之多文件上传
1.fileupload.jsp
两个上传文件的name属性值要是一样的,后台方便处理
2.具体处理上传文件的FileUpload2.java
多文件上传用集合的方式
3.用于显示的界面filedemo.jsp
遍历集合的方式,用struts2提供的标签 iterator 可以实现
<s:iterator value="file1FileName" id="f"> <!-- id是一个对象,目前是一个字符串集合 可任意命名-->
文件:<s:property value="#f"/> <br/>
<!-- 这里也可以调用方法 <s:property value="#f.toUpperCase()"/> -->
toUpperCase()字符串的方法是把字母转为大写
</s:iterator>
下载链接:
1)Servlet 文件上传 ————
点击打开链接
2)Struts2之下载
点击打开链接
posted on 2012-05-02 19:08 spring学习笔记 阅读(4019) 评论(0) 编辑 收藏 举报