如何覆盖struts 2.2.3.1文件上传消息?

时间:2013-08-13 07:46:06

标签: java struts2

struts.messages.error.file.too.largestruts.messages.error.content.type.not.allowed密钥会引起我的兴趣。我已经尝试将它们放在"global.properties""struts-messages.properties""ActionName_en_US.properties"文件中,但我没有看到我写过的任何一条消息。我在中有三个<s:file>字段,并且提交它的操作有拦截器:

<interceptor-ref name="fileUpload">
    <param name="maximumSize">2097152</param>
    <param name="allowedTypes">
        image/png,image/gif,image/jpeg,image/pjpeg
    </param>
</interceptor-ref>
<interceptor-ref name="secureStack"></interceptor-ref>

secureStack拦截器不会抛出任何错误 编辑:这是它的定义:     

    <interceptor name="authenticationInterceptor"
        class="client.interceptors.Authentication" />

    <interceptor-stack name="secureStack">
        <interceptor-ref name="authenticationInterceptor" />
        <interceptor-ref name="defaultStack" />
    </interceptor-stack>

</interceptors>

我使用THIS ANSWER似乎有效,但当一个文件超过最大大小时,错误消息也出现在其他两个字段上。

2 个答案:

答案 0 :(得分:2)

由于评论太长,所以我回答你的问题。

struts.xml中

<constant name="struts.custom.i18n.resources" value="global" />

您可以在xml文件中放置任何其他属性/常量

使用以下

创建global.properties文件
struts.messages.error.file.too.large=message
struts.messages.error.uploading=message
struts.messages.error.content.type.not.allowed=message

将此属性文件放在与struts.xml文件相同的位置。 只需确保 清洁&amp;在部署和运行之前构建 。我相信它应该有用。

答案 1 :(得分:1)

您会找到问题here的答案。

我已经过去了。告诉我们它是否适合您