Форматирование длинной метки времени в дате с помощью JSTL - PullRequest
18 голосов
/ 16 сентября 2008

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

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

Любой совет?

Спасибо.

Ответы [ 2 ]

47 голосов
/ 13 апреля 2010

Вы можете избежать внесения каких-либо изменений в свой сервлет, создав объект даты в 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"/>
8 голосов
/ 16 сентября 2008

Теги 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"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...