我想设置<fmt:formatNumber>
和朋友使用的JSTL语言环境。我知道用<fmt:setLocale>
可以做到这一点,但我需要动态地做这件事(取决于从我的数据库中检索到的用户数据),而且我更喜欢Java代码--准确地说,是一个过滤器类。
我以为将会话属性javax.servlet.jsp.jstl.fmt.locale
设置为我想要的Locale
实例就可以了,但是它被忽略了: JSTL标记一直使用浏览器的语言环境。
我验证了没有相同名称的页面上下文或请求属性。
那么我到底做错了什么呢?或者,我真的需要从JSP来做吗?
阅读JSTL代码时,我发现了对LocalizationContext
的引用,并认为我需要设置一个。不过,我不太清楚它是如何融入图片中的,也不知道如何设置。
发布于 2011-05-25 23:14:03
如果您依赖于数据库中的数据,则可能有更好的方法将此逻辑插入到您的'router'
或'controller'
中(取决于您使用的框架)。只需使用参数?lang='en'
扩展url
希望这能有所帮助
发布于 2014-11-03 20:44:28
还有另一种方法。在servlet中,您可以通过创建会话属性来设置语言环境,如下所示:
request.getSession().setAttribute("javax.servlet.jsp.jstl.fmt.locale.session", "ko-KR");
https://stackoverflow.com/questions/6126542
复制相似问题