我必須在JSP/Servlet中構建一個多語言網站。jstl和i18n:語言選擇和db
我考慮了國際化JSTL,我已經有些一般性的問題:
1)是否有可能與JSTL處理都用手語言選擇(例如,通過下拉菜單或鏈接)和自動語言識別?
2)如果大部分字符串是動態的(從數據庫中檢索),更好的方法是什麼?
我必須在JSP/Servlet中構建一個多語言網站。jstl和i18n:語言選擇和db
我考慮了國際化JSTL,我已經有些一般性的問題:
1)是否有可能與JSTL處理都用手語言選擇(例如,通過下拉菜單或鏈接)和自動語言識別?
2)如果大部分字符串是動態的(從數據庫中檢索),更好的方法是什麼?
是否有可能用手處理語言選擇(例如通過下拉菜單或鏈接)和自動語言識別?
是的。另見How to internationalize a Java web application?。
有什麼更好的方法,如果字符串的大部分是動態的(從數據庫中檢索)?
你需要創建一個自定義ResourceBundle.Control
你由Filter
在請求範圍內注入。這個過濾器應該基本上接管<fmt:setLocale>
和<fmt:setBundle>
的工作。
request.setAttribute("bundleName", yourCustomResourceBundle);
參見internationalization in JSF with ResourceBundle entries which are loaded from database(雖然JSF的目標,這個想法是簡單的JSP相同;如說,你只需要一個Filter
,而不是將其設置)。
謝謝你的完整答案。我的「如何國際化java web應用程序」中的示例出現錯誤,正好在選項標記中:在此行找到多個註釋: - 標記(