jstl 和 i18n:语言选择和数据库

发布于 2025-01-08 04:27:48 字数 171 浏览 1 评论 0原文

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

我正在考虑将 JSTL 用于 i18n,并且我有一些一般性问题:

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

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

I have to build a multi-language web site in JSP/Servlet.

I'm considering JSTL for the i18n, and I've some general questions:

1) is it possible to handle with jstl both the language selection by hand (e.g. through a pull-down menu or a link) and the automatic language recognition?

2) what is the better approach if the most part of strings are dynamic (retrieved from a database)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

许一世地老天荒 2025-01-15 04:27:48

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

是的。另请参阅如何国际化 Java Web 应用程序?


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

您需要创建一个自定义ResourceBundle.Control 您通过 过滤。该过滤器基本上应该接管 的工作。

request.setAttribute("bundleName", yourCustomResourceBundle);

另请参阅 JSF 中的国际化,其中包含从以下位置加载的 ResourceBundle 条目数据库(虽然 JSF 是针对的,但其思想与普通 JSP 相同;如上所述,您只需要一个 Filter 来设置它)。

is it possible to handle with jstl both the language selection by hand (e.g. through a pull-down menu or a link) and the automatic language recognition?

Yes. See also How to internationalize a Java web application?.


what is the better approach if the most part of strings are dynamic (retrieved from a database)?

You'd need to create a custom ResourceBundle.Control which you inject in the request scope by a Filter. This filter should basically take over the job of <fmt:setLocale> and <fmt:setBundle>.

request.setAttribute("bundleName", yourCustomResourceBundle);

See also internationalization in JSF with ResourceBundle entries which are loaded from database (although JSF targeted, the idea is the same for plain JSP; as said, you'd only need a Filter instead to set it).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文