【问题标题】:How to format date in JSTL如何在 JSTL 中格式化日期
【发布时间】:2010-04-12 08:24:24
【问题描述】:

我有一个循环遍历我们网站上的所有新闻项目。其中一个字段是日期${newsitem.value['Date']},以毫秒为单位。我想在网页上以月/日/年的格式显示这个日期。我认为 JSTL 格式标记 <fmt:formatDate> 会有所帮助,但我没有成功。你知道怎么做吗?

<cms:contentaccess var="newsitem" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
// display date here        
<c:out value="${newsitem.value['Text']}"  escapeXml="false" />

【问题讨论】:

    标签: datetime jstl formatdatetime


    【解决方案1】:

    是的,JSTL formatDate 标记应该结合将时间戳值更改为日期对象来完成这项工作(这是解决您评论中提到的异常所必需的)。

    确保您在 JSP 声明中正确定义了 fmt 前缀

    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    

    渲染输出,首先将时间戳转换为日期值。我使用yyyy-MM-dd 作为format patterndateFormat 标签也支持other formatting options

    <cms:contentaccess var="newsitem" />
    <jsp:useBean id="newsDate" class="java.util.Date" />
    <jsp:setProperty name="newsDate" property="time" value="${newsitem.value['Date']}" />
    <h2><c:out value="${newsitem.value['Title']}" /></h2>
    <fmt:formatDate pattern="yyyy-MM-dd" value="${newsDate}" />
    <c:out value="${newsitem.value['Text']}" escapeXml="false" />
    

    【讨论】:

    • 我之前尝试过,但它抛出了这个错误:“无法将 org.opencms.jsp.util.CmsJspContentAccessValueWrapper 类型的 1270738800000 类型转换为 java.util.Date 类”
    • 我试过没有 并且它可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 2011-01-31
    • 2014-04-18
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多