【问题标题】:How to format java.util.Date with <fmt:formatDate>如何使用 <fmt:formatDate> 格式化 java.util.Date
【发布时间】:2016-04-04 14:02:22
【问题描述】:

我有一个简单的 Java Web 应用程序,我在其中尝试使用 JSP EL 和 JSTL 格式化 Date 对象。以下代码不返回任何内容:

<fmt:formatDate value="${game.releaseDate}" type="date" pattern="dd-MM-yyyy" />

谁能告诉我我在这里做错了什么?

【问题讨论】:

  • 不确定这与 JavaScript 有关吗?
  • 为避免显而易见,fmt taglib 是否正确声明?您在 Web 浏览器中通过右键单击 查看页面源代码 在 JSP 生成的 HTML 输出中看到了什么?你还在那边看到&lt;fmt:formatDate&gt;标签未解析吗?
  • game.releaseDate 为空?
  • @BalusC 我在单独的head.jsp 文件中声明了ftm taglib。我对其进行了更改,使其具有games.jsp 中的声明,现在它可以工作,但我仍然想知道为什么它不能与外部声明一起工作。
  • 因为它只适用于head.jsp

标签: jsp date jstl


【解决方案1】:

如果你已经导入了所有需要的taglib:

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

<c:if test="${not empty game.releaseDate}">
    <fmt:formatDate value="${game.releaseDate}"type="date" pattern="dd-MM-yyyy" />
</c:if>

或更好

<c:choose>
    <c:when test="${empty game.releaseDate}">
        No available date
    </c:when>
    <c:otherwise>
        <fmt:formatDate value="${game.releaseDate}"type="date" pattern="dd-MM-yyyy" />
    </c:otherwise>
</c:choose>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 2017-09-17
    • 2014-03-05
    • 2020-11-02
    • 2012-07-28
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    相关资源
    最近更新 更多