JSTL fmt:formatDate与语言环境相关的模式

时间:2020-03-24 19:59:37

标签: jsp jstl jsp-tags jstl-functions

在JSP页面中,我必须显示一些日期,但是没有一种可用的日期格式(短,中或长)适合我。

<fmt:formatDate value="${someDate}" type="date" dateStyle="short"/>
<fmt:formatDate value="${someDate}" type="date" dateStyle="medium"/>
<fmt:formatDate value="${someDate}" type="date" dateStyle="long"/>

我必须诉诸指定的模式:

<fmt:formatDate value="${someDate}" type="date" pattern="dd-MM/yyyy"/>

但是,模式本身是依赖于语言环境的,我的意思是,我想从消息束中加载模式。我该怎么办?

我尝试过

<fmt:formatDate value="${someDate}" type="date" pattern="<fmt:message key='date.format.short'/>"/>

但它不起作用。

1 个答案:

答案 0 :(得分:2)

您可以使用<c:set>标记来存储模式的值。

这样的事情会做你想要的:

<c:set var="myPattern"><fmt:message key="date.format.short" /></c:set>

<fmt:formatDate value="${someDate}" type="date" pattern="${myPattern}" />

或者更好,如@Sachin所指出的,使用var属性:

<fmt:message key="date.format.short" var="${myPattern}"/>

<fmt:formatDate value="${someDate}" type="date" pattern="${myPattern}" />