gpt4 book ai didi

java - JSTL formatDate 忽略语言环境

转载 作者:搜寻专家 更新时间:2023-11-01 02:43:34 25 4
gpt4 key购买 nike

我想用 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 是一个 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" />

上面的输出 Tuesday, January 13, 2015 两次,我尝试过的每个语言环境都会发生同样的情况。我唯一配置的与区域设置相关的是以下内容(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/>

关于java - JSTL formatDate 忽略语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27925049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com