Question

I am pulling a long timestamp from a database, but want to present it as a Date using Tags only, no embedded java in the JSP.

I've created my own tag to do this because I was unable to get the parseDate and formatDate tags to work, but that's not to say they don't work.

Any advice?

Thanks.

Was it helpful?

Solution

The parseDate and formatDate tags work, but they work with Date objects. You can call new java.util.Date(longvalue) to get a date object, then pass that to the standard tag.

somewhere other than the jsp create your date object.

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

put it on the request and then you can access it in your tag like this.

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

OTHER TIPS

You can avoid having to make any changes to your Servlet by creating a date object within the JSP using the jsp:useBean and jsp:setProperty tags to set the time of newly created date object to that of the time stamp. For example:

<%@ 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"/>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top