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学习笔记  阅读(4010)  评论(0编辑  收藏  举报