在文件的上传中,主要是验证文件的类型即后缀和文件的大小
只需要在struts.xml中配置一下就可以了
代码:
<interceptor-ref name="defaultStack">
<param name="fileUpload.allowedExtensions">.png,.txt,.jar</param>
</interceptor-ref>
<package name="upload" extends="struts-default" namespace="/upload">
<!-- 拦截器配置 -->
<action name="renliang" class="com.rl.action.UploadAction" method="upload">
<!--
主动引用默认拦截器栈
-->
<interceptor-ref name="defaultStack">
<!-- 设置上传拦截器fileUpload.allowedExtensions, 不要使用allowedExtensionsSet -->
<param name="fileUpload.allowedExtensions">.png,.txt,jar</param>
</interceptor-ref>
<result name="success">/success.jsp</result>
<result name="input">/form.jsp</result>
</action>
<!-- 多文件上传 -->
<action name="renliangs" class="com.rl.action.UploadsAction" method="upload">
<!--
主动引用默认拦截器栈
-->
<interceptor-ref name="defaultStack">
<!-- 设置上传拦截器fileUpload.allowedExtensions, 不要使用allowedExtensionsSet -->
<param name="fileUpload.allowedExtensions">.png,.txt,jar</param>
</interceptor-ref>
<result name="success">/success.jsp</result>
<result name="input">/form1.jsp</result>
</action>
</package>
struts2默认的上传文件的配置在default.properties的文件中
由:struts.multipart.maxSize=2097152控制,默认的大小是2M
那么如何修改文件上传大小限制呢 ?
<!--
开发模式
-->
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.custom.i18n.resources" value="com/rl/action/resource/msg"></constant>
<!--
设置文件上传的大小,以字节为单位
-->
<constant name="struts.multipart.maxSize" value="1048576"></constant>
使用常量覆盖的方式来修改的
同时,如果上传的文件大小超出了限制范围,那么如果提示信息是英文的,可以修改为中文,
使用国际化来修改,
首先第一步创建资源文件
然后在资源文件中写出中文提示信息
然后在struts.xml中配置
<!--
开发模式
-->
<constant name="struts.devMode" value="true"></constant>
<!-- 国际化资源文件加载,写出路径/msg 必须写msg前缀 -->
<constant name="struts.custom.i18n.resources" value="com/rl/action/resource/msg"></constant>
<!--
设置文件上传的大小,以字节为单位
-->
<constant name="struts.multipart.maxSize" value="1048576"></constant>
<package name="upload" extends="struts-default" namespace="/upload">
在默认情况下,错误提示信息是在下面这个文件中的,只需要自己重新写一个资源文件然后将他重写就可以