it-swarm-es.tech

Formateo de una marca de tiempo larga en una fecha con JSTL

Estoy extrayendo una marca de tiempo larga de una base de datos, pero quiero presentarla como una fecha usando solo etiquetas, sin Java en JSP.

He creado mi propia etiqueta para hacer esto porque no pude hacer que las etiquetas parseDate y formatDate funcionen, pero eso no quiere decir que no funcionen.

¿Algún consejo?

Gracias.

18
scubabbl

Las etiquetas parseDate y formatDate funcionan, pero funcionan con objetos Date. Puede llamar a new Java.util.Date (longvalue) para obtener un objeto de fecha, luego pasarlo a la etiqueta estándar.

en algún lugar que no sea jsp, cree su objeto de fecha.

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

colóquelo en la solicitud y luego podrá acceder a él en su etiqueta de esta manera.

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

Puede evitar tener que realizar cambios en su Servlet creando un objeto de fecha dentro de la JSP usando jsp:useBean y jsp:setProperty etiquetas para establecer la hora del objeto de fecha recién creado a la de la marca de tiempo. Por ejemplo:

<%@ 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"/>
47
BenM