Pergunta

Estou extraindo um carimbo de data/hora longo de um banco de dados, mas quero apresentá-lo como uma data usando apenas tags, sem java incorporado no JSP.

Criei minha própria tag para fazer isso porque não consegui fazer com que as tags parseDate e formatDate funcionassem, mas isso não quer dizer que elas não funcionem.

Algum conselho?

Obrigado.

Foi útil?

Solução

As tags parseDate e formatDate funcionam, mas funcionam com objetos Date.Você pode chamar new java.util.Date(longvalue) para obter um objeto de data e depois passá-lo para a tag padrão.

em algum lugar diferente do jsp, crie seu objeto de data.

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

coloque na solicitação e então você poderá acessá-lo na sua tag assim.

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

Outras dicas

Você pode evitar ter que fazer alterações em seu Servlet criando um objeto de data dentro do JSP usando o comando jsp:useBean e jsp:setProperty tags para definir a hora do objeto de data recém-criado como a do carimbo de data/hora.Por exemplo:

<%@ 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"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top