Struts2在上传文件时如果文件超过设定的大小就会将“the request was rejected because its size (XXXX) exceeds the configured maximum (XXXX)”类似的错误添加到Action中,也不做任何的国际化处理,但是有时这并不是我们想要的错误信息,我们需要把它替换成我们自己的错误提示,比如“你上传的文件(XXX)超过允许的大小(XXX)”,那么如何做呢?
这个问题netfork在
http://www.javaeye.com/topic/287800分析的很详细,他给出了几种解决办法。参照他的分析,我们还可以这样做:
这个错误是commons-fileupload组件在上传的文件超过我们设定的大小的时候抛出的一个异常信息。fileUpload拦截器在捕捉到commons-fileupload的异常信息后会调用Action的addActionError()方法将他们添加到ActionError中。intercept()方法中的该部分代码如下:
所以,要将该信息替换成我们自己的,那么我们可以覆盖掉ActionSupport的addActionError()方法,在该方法中 “偷梁换柱”即可。假设我们有个文件上传的Action类FileUpload,它继承自ActionSupport类,其关键代码则如下:
By:残梦追月
posted on 2009-04-15 11:41
残梦追月 阅读(11561)
评论(5) 编辑 收藏 所属分类:
Struts