2015-05-14 31 views
7

Chciałbym wyświetlić sformatowany java.time.LocalDate w moim JSP. Czy znasz jakiś taglib do użycia w tym?Taglib do wyświetlania java.time.LocalDate sformatowany

Dla java.util.Date używaliśmy <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>. Czy istnieje coś podobnego do java.time.LocalDate?

+1

http://stackoverflow.com/questions/28516766/jstl-formatdate-and-java-time-localdate –

Odpowiedz

9

Wskazówki Afsuna zainspirowały mnie do szybkiego rozwiązania.

  1. Pod /WEB-INF należy utworzyć katalog tags.
  2. Utwórz plik znaczników localDate.tag w katalogu tags.
  3. Put poniżej kod do tego pliku tag:

    <%@ 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. Idź do pliku JSP, w którym chcesz wyświetlić java.time.LocalDate.

    4.1. Dodaj dyrektywę taglib <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> u góry pliku.

    4.2. Użyj tagu localDate następująco:

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

Świetnie. Dziękuję za to. –

2

Można to zrobić przez fmt:parseDate .Try następujący:

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

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

Mam nadzieję, że to pomoże. More information

+0

To dobrze, ale czy znasz bardziej bezpośrednią metodę? –

+0

Nie. Ale możesz utworzyć dla tego własną niestandardową funkcję. –

+1

http://www.tutorialspoint.com/jsp/jsp_custom_tags.htm –