Java 覆盖Struts 2消息

Java 覆盖Struts 2消息,java,file-upload,error-handling,struts2,Java,File Upload,Error Handling,Struts2,在我的struts.xml中,我有: <action name="file_save" method="fileSave" class="FileActionBean"> <interceptor-ref name="fileUpload"> <param name="maximumSize"> 5242880

在我的struts.xml中,我有:

<action name="file_save" method="fileSave" class="FileActionBean">
                <interceptor-ref name="fileUpload">
                    <param name="maximumSize">
                        5242880
                    </param>
                    <param name="allowedTypes">
                        text/html
                    </param>
                </interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
                <result name="success" type="redirect">file</result>
                <result name="error">error</result>
</action>
<constant name="struts.multipart.maxSize" value="20971520" />

5242880
文本/html
文件
错误
当我上传一个大于5MB的文件时,不会抛出任何错误。在struts.xml的顶部,我有:

<action name="file_save" method="fileSave" class="FileActionBean">
                <interceptor-ref name="fileUpload">
                    <param name="maximumSize">
                        5242880
                    </param>
                    <param name="allowedTypes">
                        text/html
                    </param>
                </interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
                <result name="success" type="redirect">file</result>
                <result name="error">error</result>
</action>
<constant name="struts.multipart.maxSize" value="20971520" />

现在,当我上传一个大于20MB的文件时,会显示一条错误消息。这是正常的行为吗

如果是这样,我如何配置struts来显示拦截器的错误消息呢

编辑1:


我使用的是struts 2 2.1.8.1版

为什么不将文件大小验证代码带到动作类中,然后在验证方法中检查文件大小,如果文件大小违反,则
addActionError(“您的msg”)
并在jsp中显示它

<constant name="struts.multipart.maxSize" value="-1"/>


使用struts常量尝试此操作,并将拦截器文件大小设置为所需大小。

为什么不将文件大小验证代码带到操作类中,然后在验证方法中检查文件大小,如果文件大小违反,则
addActionError(“您的msg”)
并在jsp中显示它

<constant name="struts.multipart.maxSize" value="-1"/>


使用struts常量尝试此操作,并将拦截器文件大小设置为所需大小。

我在这篇文章中遇到了类似的问题:


我发现通过以下方法,我解决了这个问题和上面的问题。

我在这篇文章中遇到了类似的问题:


我发现,通过以下操作,我解决了这个问题和上面的问题。

我尝试过,但它仍然只在文件大小超过常量时显示消息,而不是参数。我尝试过,但它仍然只在文件大小超过常量时显示消息,不是参数。全局配置似乎覆盖了其他配置。是的,这是正确的。通过上一个链接,我也解决了这个问题。全局配置似乎覆盖了其他配置。是的,这是正确的。通过上面的链接,我也解决了这个问题。