Форматирование длинной метки времени в дату с помощью JSTL
Я вытаскиваю длинную метку времени из базы данных, но хочу представить ее как Date, используя только теги, без встроенной java в JSP.
Я создал свой собственный тег, чтобы сделать это, потому что я не смог заставить теги parseDate и formatDate работать, но это не означает, что они не работают.
Любые советы?
Спасибо.
Ответы
Ответ 1
Теги parseDate и formatDate работают, но они работают с объектами Date.
Вы можете вызвать новый java.util.Date(longvalue), чтобы получить объект даты, а затем передать его стандартным тегам.
где-то, кроме jsp, создайте свой объект даты.
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"/>
Ответ 2
Вы можете избежать необходимости вносить какие-либо изменения в свой сервлет, создав объект даты в JSP с помощью тегов jsp:useBean
и jsp:setProperty
, чтобы установить время вновь созданного объекта даты на отметку времени. Например:
<%@ 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"/>