我想用 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 value="${some.date}" dateStyle="FULL" />
some.date
is a java.util.Date
实例。我尝试过各种不同的语言环境,但没有任何效果。无论我选择哪个区域设置,我都会得到以下输出:2015 年 1 月 13 日星期二。在删除上面的调用后,我还尝试了以下操作setLocale()
:
<jsp:useBean id="now" class="java.util.Date" />
<fmt:setLocale value="en_US" />
<fmt:formatDate value="${now}" dateStyle="FULL" />
<fmt:setLocale value="fr_FR" />
<fmt:formatDate value="${now}" dateStyle="FULL" />
以上输出2015 年 1 月 13 日星期二两次,我尝试过的每个区域都会发生同样的情况。我唯一配置的与语言环境相关的内容如下(Spring MVC 项目):
@Bean
public CookieLocaleResolver localeResolver() {
Locale locale = new Locale("dk");
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setDefaultLocale(locale);
return localeResolver;
}
难道不应该将文本翻译成语言环境定义的语言,或者至少改变格式吗?有什么想法我在这里做错了吗?我尝试了网上能找到的所有例子,但结果都是一样的。
我只是将范围更改为session
如下
<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/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)