jstl和i18n:语言选择和db

时间:2012-02-23 20:31:18

标签: internationalization jstl

我必须在JSP / Servlet中构建一个多语言网站。

我正在考虑使用JSTL作为i18n,我有一些一般性的问题:

1)是否可以手动使用jstl处理语言选择(例如通过下拉菜单或链接)和自动语言识别?

2)如果大部分字符串是动态的(从数据库中检索),那么更好的方法是什么?

1 个答案:

答案 0 :(得分:1)

  

是否可以手动使用jstl处理语言选择(例如通过下拉菜单或链接)和自动语言识别?

是。另请参阅How to internationalize a Java web application?


  

如果大部分字符串是动态的(从数据库中检索),那么更好的方法是什么?

您需要创建一个由Filter在请求范围中注入的自定义ResourceBundle.Control。此过滤器基本上应该接管<fmt:setLocale><fmt:setBundle>的工作。

request.setAttribute("bundleName", yourCustomResourceBundle);

另请参阅internationalization in JSF with ResourceBundle entries which are loaded from database(尽管JSF有针对性,但对于普通JSP,这个想法是相同的;如上所述,您只需要Filter来设置它。)