具有语言环境相关模式的 JSTL fmt:formatDate
JSTL fmt:formatDate with locale dependent pattern
在 JSP 页面中我必须显示一些日期,但是 none 可用的日期格式(短、中或长)适合我。
<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}" />
在 JSP 页面中我必须显示一些日期,但是 none 可用的日期格式(短、中或长)适合我。
<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}" />