Taglib 以显示 java.time.LocalDate formated

2022-09-04 01:33:02

我想在我的JSP中显示格式化的。您知道要用于此目的的taglib吗?java.time.LocalDate

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


答案 1

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

  1. 在“创建目录”下。/WEB-INFtags
  2. 在目录中创建标记文件。localDate.tagtags
  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

    4.1. 在文件顶部添加 taglib 指令。<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

    4.2. 按如下方式使用标签:localDate

    • <tags:localDate date="${yourDateToPrint}"/>
    • <tags:localDate date="${yourDateToPrint}" pattern="${yourPatternFormat}"/>

答案 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" />

我希望这对你有所帮助。更多信息