使用<fmt:setlocale value =“en_GB”> </fmt:setlocale>将默认语言环境设置为UK

时间:2012-01-06 06:47:08

标签: java jsp

我正在使用jsp将默认语言环境设置为UK,但它没有反映出来。为什么会这样?有没有其他方法可以做到这一点,还是我可以从Java端做到这一点?

感谢您的回复

3 个答案:

答案 0 :(得分:1)

您需要在 <fmt:setLocale>之前致电<fmt:setBundle>

<fmt:setLocale value="en_GB" />
<fmt:setBundle basename="com.example.i18n.text" />

如果你之后调用它,它将没有任何效果,因为该束已经在那时被加载。

另见:

答案 1 :(得分:0)

如果您遇到fmt:formatDate问题,则应指定时区,例如

<fmt:formatDate value="${myDate}" pattern="dd MMM HH:mm" timeZone="BST"/>

您可以从java.util.TimeZone.getAvailableIDs()

获取的timeZone值

修改

尝试使用javax.servlet.jsp.jstl.core.Config类:

Config.set(getServletContext(), Config.FMT_LOCALE, "en_GB");

答案 2 :(得分:0)

如果“默认语言环境”是指实际调用java.util.Locale.setDefault(),那么在jstl中这是不可能的,因为它会影响整个应用程序而不仅仅是用户访问当前页面。 fmt:setLocale标记设置了网页LocalizationContext的区域设置,然后由fmt:messagefmt:formatNumberfmt:parseNumberfmt:formatDate和{{ 1}}。