struts 文件上传的一些问题

在struts下文件上传很方便,但有几个问题要注意下

 

1、拦截器配置要注意顺序

 

    如果你要配置个性化的,如文件类型,大小,需要在下面增加最下面增加workflow的拦截,因为文件上传拦截器会判断文件类型与大小往validate中写错误信息,workflow会在最后判断有无错误,并转到input。

 

 

<action name="fileUpload" class="com.my.action.FileUpAction" method="post">
 <result name="success" type="dispatcher">
  /file_up_success.jsp
 </result>
 <result name="input" type="dispatcher">
  /file_up.jsp
 </result>
 <interceptor-ref name="autowireDefault"/>
 <interceptor-ref name="fileUpload">
 <!-- 定义允许的上传文件的类型-->
     <param name="allowedTypes">text/plain</param>
     <!-- 上传文件的最大值 -->
     <param name="maximumSize">1024000</param>
 </interceptor-ref>
 <interceptor-ref name="workflow" /> 
</action>

 

 

2、可以定制文件上传错误信息

 

   有几种情况可以造成文件上传失败

 

   1、文件过大传不上来,报actionError

   2、文件类型错误,报fieldError

   3、文件超过设置的大小,报fieldError

   略

 

   这些错误信息原配置是英文,可用国际化配置成中文显示

   

在struts.xml中增加

    <constant name="struts.custom.i18n.resources" value="messageResource" />

   增加

   messageResource_zh_CN.properties

   #文件类型出错输出 中文

   struts.messages.error.content.type.not.allowed=\u6587\u4ef6\u7c7b\u578b\u51fa\u9519

  

   java 文件转码命令

 

  

native2ascii  src.txt   dest.txt

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值