11

我有一个循环遍历我们网站上的所有新闻项目。其中一个字段是 date ${newsitem.value['Date']},以毫秒为单位。我想在网页上以月/日/年的格式显示这个日期。我认为 JSTL 格式标记 ,<fmt:formatDate>会有所帮助,但我没有成功。你知道怎么做吗?

<cms:contentaccess var="newsitem" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
// display date here        
<c:out value="${newsitem.value['Text']}"  escapeXml="false" />
4

1 回答 1

37

是的,JSTLformatDate标记应该结合将 Timestamp 值更改为日期对象来完成这项工作(这是解决您评论中提到的异常所必需的)。

确保您fmt在 JSP 声明中正确定义了前缀

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

渲染输出,首先将时间戳转换为日期值。我使用yyyy-MM-dd格式模式dateFormat标签也支持其他格式选项

<cms:contentaccess var="newsitem" />
<jsp:useBean id="newsDate" class="java.util.Date" />
<jsp:setProperty name="newsDate" property="time" value="${newsitem.value['Date']}" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
<fmt:formatDate pattern="yyyy-MM-dd" value="${newsDate}" />
<c:out value="${newsitem.value['Text']}" escapeXml="false" />
于 2010-04-12T08:30:16.450 回答