我正在使用jsp将默认语言环境设置为UK,但它没有反映出来。为什么会这样?有没有其他方法可以做到这一点,还是我可以从Java端做到这一点?
感谢您的回复
答案 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()
修改强>
尝试使用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:message
,fmt:formatNumber
,fmt:parseNumber
,fmt:formatDate
和{{ 1}}。