struts2多图片上传实例

 描述:

         通过struts2实现多图片上传。

         我使用的版本是2.2.1,使用的包有如下几个:

                  

 

                         

        具体实现:

      1.       创建上传图片的页面

fileUpload.jsp

 

         FileUpload.jsp中,先将表单的提交方式设为POST,然后将enctype设为multipart/form-data,这并没有什么特别之处。接下来,<s:file/>标志将文件上传控件绑定到ActionmyFile属性,因为要上传多张图片我们就暂且添加三个file

注意这三个filename属性要相同。

2.    创建处理图片上传的action

FileUploadAction.java

 

 

FileUploadAction中我分别写了setMyFileContentTypesetMyFileFileNamesetMyFilesetCaption四个Setter方法,

后两者很容易明白,分别对应FileUpload.jsp中的<s:file/><s:textfield/>标志。但是前两者并没有显式地与任何的页面标志绑定,

那么它们的值又是从何而来的呢?其实,<s:file/>标志不仅仅是绑定到myFile

还有myFileContentType(上传文件的MIME类型)和myFileFileName(上传文件的文件名,该文件名不包括文件的路径)。

因此,<s:file name="xxx" />对应Action类里面的xxxxxxContentTypexxxFileName三个属性。

 

        FileUploadAction作用是将浏览器上传的文件拷贝到WEB应用程序的

     UploadImages文件夹下,新文件的名称是由系统时间与上传文件的后缀组成,

     该名称将被赋给imageFileName属性,以便上传成功的跳转页面使用。

      

3.    创建显示图片的页面

       showUpload.jsp

 

4.Action配置文件

    Struts.xml  

 

Action配置文件里所做的配置都有注释,不明白的地方看下注释

另外因为做了国际化处理所以需要一个国际化配置的文件

放在src目录下

 

5.国际化配置文件

                        

messageResource_zh_CN.properties(只配置了中文的)

  

struts.messages.error.content.type.not.allowed=/u4E0A/u4F20/u7C7B/u578B/u9519/u8BEF

struts.messages.error.file.too.large=/u4E0A/u4F20/u6587/u4EF6/u592A/u5927

 

总结:struts2上传图片利用了fileUpload拦截器而变的简单,主要是在action中做相应处理获取文件的相应信息。

 

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值