Форматирование длинной временной метки в дату с помощью JSTL

StackOverflow https://stackoverflow.com/questions/75489

  •  09-06-2019
  •  | 
  •  

Вопрос

Я извлекаю длинную временную метку из базы данных, но хочу представить ее как дату, используя только теги, без встроенной java в JSP.

Я создал свой собственный тег для этого, потому что мне не удалось заставить работать теги parseDate и formatDate, но это не значит, что они не работают.

Есть какой-нибудь совет?

Спасибо.

Это было полезно?

Решение

Теги parseDate и formatDate работают, но они работают с объектами Date.Вы можете вызвать new java.util.Date(longvalue), чтобы получить объект date, а затем передать его стандартному тегу.

где-нибудь еще, кроме jsp, создайте свой объект date.

long longvalue = ...;//from database.
java.util.Date dateValue = new java.util.Date(longvalue);
request.setAttribute("dateValue", dateValue);

поместите это в запрос, и затем вы сможете получить к нему доступ в своем теге следующим образом.

<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>

Другие советы

Вы можете избежать необходимости вносить какие-либо изменения в свой сервлет, создав объект date в JSP с помощью jsp:useBean и jsp:setProperty теги для установки времени вновь созданного объекта date равным времени метки времени.Например:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="dateValue" class="java.util.Date"/>
<jsp:setProperty name="dateValue" property="time" value="${timestampValue}"/>
<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top