覆盖Struts 2消息

时间:2012-06-26 07:28:07

标签: java file-upload error-handling struts2

在我的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>

当我上传大于5MB的文件时,不会抛出任何错误。然后在struts.xml的顶部我有:

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

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

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

编辑1:

我正在使用struts 2版本2.1.8.1

2 个答案:

答案 0 :(得分:1)

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

How do you override Struts 2 Messages?

我发现通过关注this example我解决了这个问题和上面的问题。

答案 1 :(得分:0)

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

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

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