Как форматировать дату в JSTL

у меня есть цикл, который проходит через все новости на нашем сайте. Одно из полей-date ${newsitem.value['Date']}, приведенный в millliseconds. Я хотел бы отобразить эту дату в формате месяц / день / год на веб-странице. Я думал, что тег формата 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" />

1 ответов


да JSTL formatDate тег должен выполнять работу в сочетании с изменением значения метки времени в объект date (который требуется для работы с исключением, упомянутым в вашем комментарии).

убедитесь, что вы правильно определили fmt префикс в объявлениях JSP

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

визуализируйте вывод, сначала преобразуйте отметку времени в значение даты. Я использую yyyy-MM-dd как шаблон формата, the 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" />