struts.messages.error.file.too.large
或struts.messages.error.content.type.not.allowed
key 会让我感兴趣。我已经尝试将它们放入 "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它似乎有效,但当一个文件超过最大大小时,错误消息也会出现在其他两个字段上。
最佳答案
由于评论太长,所以我来回答你的问题。
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
文件相同的位置。
只需确保在部署和运行之前清理并构建即可。我确信它应该有效。
关于java - 如何覆盖struts 2.2.3.1文件上传消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18203396/