2012-08-05 73 views
1

我有一个Spring 3和Struts 2的应用程序。我有我自己的属性文件与自定义消息。这些文件在启动时随弹簧加载。我从我的代码中的任何地方使用PropertyCache.getMessage()来获取这些自定义消息。这些消息资源完全由我的应用程序和Spring控制。使用定制属性加载器来覆盖struts消息

现在我有一个文件上传的场景。上传限制在全局struts常量和“fileUpload”拦截器中进行配置。按照理论,当用户尝试上传大文件时,框架将显示其消息(我知道如何使用struts对其进行定制)。由于我使用自己的资源,我想用我自己的“PropertyCache.getMessage()来显示我的自定义消息(不打算使用”struts.messages.error.file.too.large“),因为我使用自己的”PropertyCache.getMessage() “ 方法。

如何覆盖struts错误消息,以便框架从我自己的资源中取出消息而不是struts常量/ struts全局属性?

回答

1

嗯,我没有看到任何直接的解决方案,因为上面的消息正在fileUploader拦截器下设置,它很可能有一些更灵活和最好的解决方案。

现在我可以建议你创建一个FileUploaderInterceptor,你可以使用Spring的消息阅读器功能从您的自定义消息文件中读取消息,并更换Struts2的getTextMessage()方法

  1. FileUploadInterceptor