Formatting a long timestamp into a Date with JSTL

末鹿安然 提交于 2019-12-17 23:06:44

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!