jstl 和 i18n:语言选择和数据库
我必须用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。另请参阅如何国际化 Java Web 应用程序?。
您需要创建一个自定义
ResourceBundle.Control
您通过过滤
。该过滤器基本上应该接管
和
的工作。另请参阅 JSF 中的国际化,其中包含从以下位置加载的 ResourceBundle 条目数据库(虽然 JSF 是针对的,但其思想与普通 JSP 相同;如上所述,您只需要一个
Filter
来设置它)。Yes. See also How to internationalize a Java web application?.
You'd need to create a custom
ResourceBundle.Control
which you inject in the request scope by aFilter
. This filter should basically take over the job of<fmt:setLocale>
and<fmt:setBundle>
.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).