2012-08-05 70 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