我目前正在使用java中的國際化web應用程序,只使用標準servlet API(無框架)。爲標題,標籤等頁面上的所有靜態文本。我一直在使用fmt標記庫,由WEB-INF/classes中的屬性文件支持。 應用程序幾乎已完成,但我們的客戶可能稍後想要更改或更新翻譯的要求已突然出現。
由於屬性文件位於戰爭內部,因此無需重新編譯應用程序就無法執行此操作。所以,我的問題很簡單:是否有任何方法更新戰爭中的屬性文件,或者可能有setBundle標記從外部目錄加載文件。或者可能是第三種更乾淨和正確的方法來實現這一目標?改變jstl fmt中的翻譯而無需重新編譯
1
A
回答
0
將它們放入外部文件夾並將其路徑添加到webapp的運行時類路徑中。例如,/var/webapp/conf
。至於將此路徑添加到Web應用程序的運行時類路徑,這取決於所使用的服務器。如果是例如Tomcat 6/7,那麼您需要將其添加到Tomcat/conf/catalina.properties
文件的shared.loader
屬性中。
shared.loader = /var/webapp/conf
這種方式是可以在Web應用程序的運行時類路徑通常的方式,你不需要重新打包WAR ..
2
戰爭只是一個zip文件。解壓縮它,更改屬性文件並重新壓縮。不需要重新編譯任何東西。
提供一個簡單的腳本來完成單個操作應該很容易。你甚至可以使用jar的u(更新)選項來做到這一點。請參閱http://download.oracle.com/javase/tutorial/deployment/jar/update.html
相關問題
- 1. 更改數據而無需在C#中重新編譯
- 2. 無需重新編譯預編譯頭文件即可重建
- 3. 無法編譯新版本的翻譯
- 4. 如何更改Web服務URL而無需重新編譯?
- 5. 需要JSP重新編譯?
- 6. 選擇EJB無需重新編譯
- 7. i18Next - NodeJS - 如何更改翻譯而無需重新加載服務器
- 8. 編譯debug = true - 更改而不重新編譯?
- 9. 使用資源(resx)在ClassLibrary中,可以更改而無需重新編譯
- 10. libclang緩慢地重新編譯翻譯單元
- 11. 有沒有辦法改變函數的更新列表而無需在Theano中重新編譯它?
- 12. j2obj翻譯javanano protobuf無法編譯
- 13. 無法重新編譯jsps
- 14. 更改接口無需重新編譯實現類
- 15. 依賴注入,無需重新編譯即可實現更改
- 16. 可能更改應用程序圖標,而無需重新編譯APK?
- 17. JRebel的/ SBT如何重新編譯Web應用程序而無需重啓
- 18. 角度翻譯更新翻譯表
- 19. 傳遞參數給所有的Rails的翻譯,而無需修改所有的翻譯要求
- 20. 重新編譯被編譯爲OS \ 2需要在DOS
- 21. Qt資源文件不會更新,而無需編譯
- 22. C#可編輯資源,無需重新編譯
- 23. 無需編譯 - 編譯運行
- 24. C#更新DLL,無需重新編譯項目
- 25. 使用alglib而無需每次編譯
- 26. Intellij Idea編譯器重新編譯已編譯的項目
- 27. GWT widgetSet何時需要重新編譯?
- 28. 重新編譯TJWS
- 29. 在PHP中添加對OpenSSL的支持,無需重新編譯
- 30. 無法在Netbeans 7.0中重新編譯
我不知道如何需要改變或更新了翻譯也「突然「想出來 - 你應該總是假定應用程序中的任何文本可能需要修改,尤其是*翻譯。 –
當然,它很容易修改,只要你有源代碼(或解壓縮/重新壓縮如下建議,或部署爆炸戰爭)。這也是爲什麼我希望有一個乾淨的方式來做到這一點。 – vruum