问题
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.
回答1:
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"/>
回答2:
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"/>
来源:https://stackoverflow.com/questions/75489/formatting-a-long-timestamp-into-a-date-with-jstl