2010-04-12 101 views
10

我有一個遍歷我們網站上所有新聞的循環。其中一個字段是日期${newsitem.value['Date']},單位爲毫秒。我想在網頁上以月/日/年格式顯示此日期。我認爲JSTL格式標籤<fmt:formatDate>會有幫助,但我沒有成功。你知道該怎麼做嗎?如何在JSTL中格式化日期

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

回答

36

是在JSTL formatDate標籤應該做的工作結合改變時間戳值轉換成日期對象(這是需要工作在您的評論中提到的例外左右)。

確保你已經正確定義的fmt前綴在JSP聲明

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

渲染輸出,時間戳轉換到一個日期值。我使用yyyy-MM-dd作爲format patterndateFormat標籤也支持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" /> 
+0

我已經試過這更早,但它拋出這個錯誤: 「無法轉換類型的類org.opencms.jsp.util.CmsJspContentAccessValueWrapper的1270738800000類java.util.Date」 – 2010-04-12 09:01:17

+1

的標籤庫URI表示10 JSTL的一箇舊版本。請升級。 – BalusC 2010-04-12 11:51:48

+0

感謝您發現舊的URI,我已經按照您的建議升級了它 – BenM 2010-04-12 13:46:54