Struts2文件上传的过滤

     Struts2提供了文件上传的拦截器fileUpload,只需要在struts.xml文件中配置上传文件Action时添加这个拦截器。fileUpload拦截器有三个参数:1.maximumSize:用来限定文件上传的最大值,单位是B(字节)。2.allowedTypes:用来指定上传文件的类型,多个文件类型之间要用逗号隔开。3.allowedExtensions:用来指定上传文件的扩展名,多个扩展名之间要用逗号隔开。下面是struts.xml的具体配置。

   

<action name="upload2" class="com.seven.upload.UploadAction2">
	     <!-- 使用fileUpload拦截器 -->
	     <interceptor-ref name="fileUpload">
           
           <!-- 限定上传文件最大是5M -->
           <param name="maximumSize">52428800</param>
           
           <!-- 限定上传文件的类型 -->
           <param name="allowedTypes">text/html,text/xml</param>
           
           <!-- 上传文件扩展名的限定 -->
           <param name="allowedExtensions">xml,html</param>
         </interceptor-ref>
         
         <!-- 配置系统默认拦截器 -->
         <interceptor-ref name="defaultStack"></interceptor-ref>
         
         <result>/success.jsp</result>
         <result name="input">/index2.jsp</result>
      </action>
   </package>
运行之后,如下图:


其中的错误信息是英文的,这时候就要用到国际化资源文件了。新建error_zh_CN.properties资源文件,通常放到src目录下。添加内容如下:

struts.messages.error.uploading=上传文件出错的消息

struts.messages.error.file.too.large=文件超过最大值的消息

struts.messages.error.content.type.not.allowed=文件内容类型不合法

struts.messages.error.file.entension.not.allowed=文件扩展名不合法的消息

其中资源文件的key都是固定不能变得,如果上传文件不符合,struts都自动获取value的值。

最后在struts.xml中配置

<constant name="struts.custom.i18n.resources" value="error"/><!-- 配置国际化 -->
然后运行结果如下:


错误信息就会显示中文了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值