struts2上传图片超过大小给出错误提示
今天碰到上传图片太大,上传不上去返回input视图的界面,回显的错误信息却是乱码,整了好久才整出来,在这里做个记录,方便自己以后查阅,也希望能给遇到这种情况的朋友点指示,呵呵!
首先,在struts.xml里新增的配置,
首先,在struts.xml里新增的配置,
<!-- 指定显示的错误信息的编码格式,注意这个编码应该跟你的回显的页面的格式是一致的 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 将错误消息转换成中文的文件,也称为国际化.我就直接放置在src目录下所以value不带包名 -->
<constant name="struts.custom.i18n.resources" value="messages_zh_CN" />
<!-- 扩大上传文件的大小 ,这里的配置是控制整个表单中上传的文件大小->
<constant name="struts.multipart.maxSize" value="104557600" />
messages_zh_CN.properties文件的内容如下:
struts.messages.error.content.type.not.allowed=不支持上传该类型的文件
struts.messages.error.file.too.large=上传图片失败:图片太大
struts.messages.error.uploading=上传文件时发生错误
对应的value和key是:
struts.messages.error.content.type.not.allowed=不支持上传该类型的文件
struts.messages.error.file.too.large=上传图片失败:图片太大
struts.messages.error.uploading=上传文件时发生错误
其次,struts.xml的action里应该配置对上传文件的类型、大小的拦截
其次,struts.xml的action里应该配置对上传文件的类型、大小的拦截
<action name="add" class="com.silon.web.struts.action.PicAction" method="add">
<!-- 拦截图片上传类型 -->
<interceptor-ref name="fileUpload">
<param name="allowedTypes"> image/bmp,image/png,image/gif,image/jpeg,image/jpg ,image/x-png, image/pjpeg </param>
<!-- 这里是对单个上传文件大小的限制 -->
<param name="maximumSize">102400</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="input">/pages/pic/picUpload/addUI.jsp</result>
</action>
最后,回显页面addUI.jsp里应该有显示错误信息的语句,
最后,回显页面addUI.jsp里应该有显示错误信息的语句,
<strong> <FONT color="red"> <s:fielderror /> </FONT> </strong> 错误均放置在filederror里,如果有的话就可以通过struts标签将其打印出来了