Как отформатировать дату в JSTL
У меня есть цикл, который просматривает все новости, которые есть на нашем сайте. Одним из полей является дата ${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" />
1 ответ
Да, 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" />