【问题标题】:Taglib to display java.time.LocalDate formattedTaglib 显示格式化的 java.time.LocalDate
【发布时间】:2015-05-14 06:13:45
【问题描述】:

我想在我的 JSP 中显示格式化的 java.time.LocalDate。你知道有什么 taglib 可以用来做这个吗?

对于java.util.Date,我们使用的是<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>java.time.LocalDate 是否存在类似的东西?

【问题讨论】:

标签: java jsp date java-8 taglib


【解决方案1】:

Afsun 的提示启发我创建一个快速解决方案。

  1. /WEB-INF下创建目录tags
  2. tags目录下创建标签文件localDate.tag
  3. 将下面的代码放入这个标签文件中:

    <%@ tag body-content="empty" pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %>
    
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <%@ attribute name="date" required="true" type="java.time.LocalDate" %>
    <%@ attribute name="pattern" required="false" type="java.lang.String" %>
    
    <c:if test="${empty pattern}">
        <c:set var="pattern" value="MM/dd/yyyy"/>
    </c:if>
    
    <fmt:parseDate value="${date}" pattern="yyyy-MM-dd" var="parsedDate" type="date"/>
    <fmt:formatDate value="${parsedDate}" type="date" pattern="${pattern}"/>
    
  4. 转到要在其中显示 java.time.LocalDate 的 JSP 文件。

    4.1。在文件顶部添加 taglib 指令&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %&gt;

    4.2。使用localDate标签如下:

    • &lt;tags:localDate date="${yourDateToPrint}"/&gt;
    • &lt;tags:localDate date="${yourDateToPrint}" pattern="${yourPatternFormat}"/&gt;

【讨论】:

  • 太棒了。谢谢你。
【解决方案2】:

您可以通过fmt:parseDate进行此操作。请尝试以下操作:

<fmt:parseDate value="${dateForParsing}" pattern="yyyy-MM-dd" var="parsedDate" type="date" />

<fmt:formatDate value="${parsedDate}" var="newParsedDate" type="date" pattern="dd.MM.yyyy" />

希望对你有帮助。More information

【讨论】:

  • 这个很好,但是你知道更直接的方法吗?
  • 否。但您可以为此创建自己的自定义函数。
  • 您的提示启发了我创建以下解决方案,因此我将其标记为答案。谢谢!
【解决方案3】:

一种解决方案是在您的 javabean 上使用注解 @XmlJavaTypeAdapter(LocalDateAdapter.class):

@XmlJavaTypeAdapter(LocalDateAdapter.class)
public LocalDate getLoanDate() {
    return loanDate;
}

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    相关资源
    最近更新 更多