阅读背景:

struts2文件上传与错误信息国际化

来源:互联网 

struts.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "https://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
	<!-- struts2文件上传时,第一个关卡,默认为2M,当上传的文件大于2M时,
	文件不上传并且后台会报错,将错误定义为actionerror级别,内容如下:
	the request was rejected because its size (2722341) exceeds 
	the configured maximum (2097152)
	这个错误不能被国家化,但是可以通过相应的action类继承ActionSupport类,
	并且重写addActionError()方法修改错误信息。 -->
	<constant name="struts.multipart.maxSize" value="9000000" />
	<constant name="struts.custom.i18n.resources"
		value="com.ysu.web.action.messages_zh_CN" />
	<package name="struts2_file_upload" extends="struts-default">
		<default-action-ref name="upload"></default-action-ref>
		<action name="upload" class="com.ysu.web.action.MainAction">
			<result name="success">
				/WEB-INF/jsp/upload.jsp
			</result>
		</action>
		<action name="fileupload"
			class="com.ysu.web.action.FileUploadAction">
			<interceptor-ref name="defaultStack">
				<!--struts2上传文件的第二道关卡,当上传的文件小于第一道关卡中设置的大小,
				这时文件已经上传,拦截器才起作用,在分析文件的各种属性,例如文件大小、类别、扩展名。
				如果不满足拦截器的要求,会将错误定义为fielderror级别,并将上传的文件删除。
				通过<s:fielderror></s:fielderror>在页面显示错误信息,这个错误信息可以被国际化。
				注意:1M = 1*1024*1024 -->
				<param name="fileUpload.maximumSize">1048576</param>
				
				<!-- 允许类型为excel的文件上传 
				注意:限制上传文件为.xls文件,当本地电脑装有WPS时,需要添加application/kset.
				如果没有装WPS只需要application/vnd.ms-excel-->
				<param name="fileUpload.allowedTypes">
					application/kset,application/vnd.ms-excel
				</param>
				
				<!-- 允许后缀名为xls的文件上传 
				注意:allowedTypes的优先级别高于allowedExtensions,
				如果配置了allowedTypes,则allowedExtensions将不起作用
				-->
				<param name="allowedExtensions">
					xls
				</param>
			</interceptor-ref>
			<result name="success">
				/WEB-INF/jsp/show.jsp
			</result>
			<result name="input">
				/WEB-INF/jsp/upload.jsp
			</result>
		</action>
	</package>
</struts>

<?xml version="1.0" encoding="UT



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: