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