JSTL fmt:formatDate,具有与区域设置相关的模式



在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'/>"/>

但它不起作用。

您可以使用<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}" />

最新更新