题
我正在从数据库中提取一个长时间戳,但希望仅使用标签将其呈现为日期,而不是在 JSP 中嵌入 java。
我创建了自己的标签来执行此操作,因为我无法使 parseDate 和 formatDate 标签正常工作,但这并不是说它们不起作用。
有什么建议吗?
谢谢。
解决方案
parseDate 和 formatDate 标记可以工作,但它们可以与 Date 对象一起使用。您可以调用 new java.util.Date(longvalue) 来获取日期对象,然后将其传递给标准标记。
除了 jsp 之外的其他地方创建日期对象。
long longvalue = ...;//from database.
java.util.Date dateValue = new java.util.Date(longvalue);
request.setAttribute("dateValue", dateValue);
将其放在请求中,然后您可以像这样在标签中访问它。
<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>
其他提示
通过使用以下命令在 JSP 中创建日期对象,您可以避免对 Servlet 进行任何更改: jsp:useBean
和 jsp:setProperty
标签将新创建的日期对象的时间设置为时间戳的时间。例如:
<%@ 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"/>
不隶属于 StackOverflow