Comment utiliser la date de format "AAAA-MM-JJ" avec JSTL? [dupliquer]

Cette question a déjà une réponse ici:

je veux profiter de la date à partir de DB et de les afficher sur jsp:

2014-04-02

au lieu de:

2014-04-02 00:00:00.0

Sur jsp j'ai essayé d'utiliser c:esf balise de formatage de date:

   <div class="form-group">
      <span><fmt:message key="task.start"/></span>
      <input class="form-control" id="firstDate" placeholder="<fmt:message key="task.start"/>" 
           name="start_date-${task.taskId}"
         <fmt:formatDate value="${task.startDate}" var="startFormat" type="date" pattern="yyyy-MM-dd"/>
        value="${startFormat}"/>
   </div>

en Regardant sur la page:

view

comment le formater en AAAA-MM-JJ format?

11
demandé sur user2418306 2014-04-03 02:17:42

2 réponses

d'Abord, vous devez ajouter la ligne ci-dessous à la tête de votre fichier jsp

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

Maintenant, vous pouvez utiliser <fmt:formatDate> et <fmt:parseDate> pour formater la date.

<fmt:formatDate value="${now}" pattern="yy-MMM-dd"/>

PS: dans votre code, j'ai vu que vous aviez fait des erreurs avec la balise jsp. Je pense qu'il devrait être

    <div class="form-group">
      <span><fmt:message key="task.start"/></span>
      <input class="form-control" id="firstDate" placeholder="<fmt:message key='task.start'/>" 
           name="start_date-${task.taskId}" value="<fmt:formatDate value='${task.startDate}' var='startFormat' type='date' pattern='yyyy-MM-dd'/>"
   </div>
21
répondu tiny4penguin 2015-08-18 22:32:52

valuefmt:formatDate est supposé être un objet Date (java.util.Date). Si le task.startDate est une date comme une chaîne, alors vous devez la convertir à l'avance.

<fmt:parseDate value="${task.startDate}" pattern="yyyy-MM-dd HH:mm:ss" var="myDate"/>
<fmt:formatDate value="${myDate}" var="startFormat" pattern="yyyy-MM-dd"/>
11
répondu Simon Arsenault 2014-04-03 01:27:24