Question

Je tire un horodatage long d'une base de données, mais je souhaite le présenter comme une date utilisant uniquement des balises, pas de java incorporé dans le fichier JSP.

J'ai créé ma propre balise pour le faire car je n'a pas pu faire fonctionner les balises parseDate et formatDate, mais cela ne veut pas dire qu'elles ne fonctionnent pas.

Un conseil?

Merci.

Était-ce utile?

La solution

Les balises parseDate et formatDate fonctionnent, mais elles fonctionnent avec des objets Date. Vous pouvez appeler new java.util.Date (longvalue) pour obtenir un objet de date, puis le transmettre à la balise standard.

Créez un objet de date autre que le jsp.

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

mettez-le sur la demande et vous pourrez y accéder dans votre tag comme ceci.

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

Autres conseils

Vous pouvez éviter de modifier votre Servlet en créant un objet de date dans le JSP à l'aide des balises jsp: useBean et jsp: setProperty pour définir l'heure. de l'objet date nouvellement créé à celui de l'horodatage. Par exemple:

<%@ 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"/>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top