Как отформатировать дату в JSTL
-
26-09-2019 - |
Вопрос
У меня есть цикл, который проходит все новости, которые у нас есть на нашем сайте. Одно из полей дата ${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" />
Решение
Да, Jstl formatDate
Тег должен выполнять работу в сочетании с изменением значения времени метки времени в объект даты (который требуется, чтобы обойти исключение, упомянутое в вашем комментарии).
Убедитесь, что вы правильно определили 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" />