我有一个循环,遍历我们网站上的所有新闻。其中一个字段是日期${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" />
答案 0 :(得分:36)
是的,JSTL formatDate
标签应该结合将Timestamp值更改为日期对象(解决评论中提到的异常所需)来完成这项工作。
确保您已在JSP声明中正确定义了fmt
前缀
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
渲染输出,首先将时间戳转换为日期值。我使用yyyy-MM-dd
作为format pattern,dateFormat
代码也支持other formatting options。
<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" />