【问题标题】:jstl and i18n: language selection and dbjstl 和 i18n:语言选择和数据库
【发布时间】:2012-02-23 20:31:17
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: internationalization jstl


    【解决方案1】:

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

    是的。另见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 应用程序”中的示例中有一个错误,恰好在选项标记中:在此行找到多个注释:-标记 (
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多