Java JSTL formatDate忽略区域设置
我想用JSTL对日期进行本地化,我试着像下面这样做Java JSTL formatDate忽略区域设置,java,localization,jstl,Java,Localization,Jstl,我想用JSTL对日期进行本地化,我试着像下面这样做 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <fmt:setLocale value="da_DK" scope="application" /> <fmt:formatDate va
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setLocale value="da_DK" scope="application" />
<fmt:formatDate value="${some.date}" dateStyle="FULL" />
上面的输出是2015年1月13日,星期二,两次,我尝试过的每种语言环境都是如此。我唯一配置的与locale相关的是以下内容(SpringMVC项目):
文本不应该被翻译成由语言环境定义的语言,或者至少格式应该改变吗?你知道我做错了什么吗?我尝试了我能在网上找到的每一个例子,但结果都是一样的。我只需将范围更改为
会话
,如下所示
<fmt:setLocale value="fr_FR" scope="session"/>
Date in France:
<fmt:formatDate value="${now}" dateStyle="full"/> <br/>
<fmt:setLocale value="en_US" scope="session"/>
Date in US:
<fmt:formatDate value="${now}" dateStyle="full" /> <br/>
在法国的日期:
在美国的日期:
出于某种原因,它只在作用域设置为会话时起作用。我很确定我已经试过了,但它确实有效!谢谢还有其他想法吗?我也有同样的问题,但我的站点不使用会话(它是无状态的)。因此scope=“session”不起作用-它实际上给出了页面不参与会话的错误。scope=“request”无效。
@Bean
public CookieLocaleResolver localeResolver() {
Locale locale = new Locale("dk");
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setDefaultLocale(locale);
return localeResolver;
}
<fmt:setLocale value="fr_FR" scope="session"/>
Date in France:
<fmt:formatDate value="${now}" dateStyle="full"/> <br/>
<fmt:setLocale value="en_US" scope="session"/>
Date in US:
<fmt:formatDate value="${now}" dateStyle="full" /> <br/>