2011-10-08 42 views
1

我目前正在使用java中的國際化web應用程序,只使用標準servlet API(無框架)。爲標題,標籤等頁面上的所有靜態文本。我一直在使用fmt標記庫,由WEB-INF/classes中的屬性文件支持。 應用程序幾乎已完成,但我們的客戶可能稍後想要更改或更新翻譯的要求已突然出現。
由於屬性文件位於戰爭內部,因此無需重新編譯應用程序就無法執行此操作。所以,我的問題很簡單:是否有任何方法更新戰爭中的屬性文件,或者可能有setBundle標記從外部目錄加載文件。或者可能是第三種更乾淨和正確的方法來實現這一目標?改變jstl fmt中的翻譯而無需重新編譯

+0

我不知道如何需要改變或更新了翻譯也「突然「想出來 - 你應該總是假定應用程序中的任何文本可能需要修改,尤其是*翻譯。 –

+0

當然,它很容易修改,只要你有源代碼(或解壓縮/重新壓縮如下建議,或部署爆炸戰爭)。這也是爲什麼我希望有一個乾淨的方式來做到這一點。 – vruum

回答

0

將它們放入外部文件夾並將其路徑添加到webapp的運行時類路徑中。例如,/var/webapp/conf。至於將此路徑添加到Web應用程序的運行時類路徑,這取決於所使用的服務器。如果是例如Tomcat 6/7,那麼您需要將其添加到Tomcat/conf/catalina.properties文件的shared.loader屬性中。

shared.loader = /var/webapp/conf 

這種方式是可以在Web應用程序的運行時類路徑通常的方式,你不需要重新打包WAR ..

+0

謝謝,這是我尋找的那種解決方案。我會試試 – vruum

+0

只是爲了跟進。我最終選擇了BalusC的解決方案。將以下內容添加到jboss-service.xml中。 '' 適用於jboss 4.2和jboss 6. 所以,再次感謝 – vruum

相關問題