Format ein Datum und zeigt es mit JSTL und EL
Wie kann ich formatieren und anzeigen ein Date
Objekt in einer JSP, am besten mit JSTL und EL, aber jede andere Lösung ist willkommen? Ich kann es nicht ändern das bean-Objekt.
Habe ich die folgende Klasse:
import java.util.Date;
public class Person {
private Date myDate;
public Date getMyDate() {
return myDate;
}
public void setMyDate(Date myDate){
this.myDate = myDate;
}
}
Ich versuche zu Anzeige die Datum in diesem Objekt in einer JSP-Seite. Wenn ich dies tun <c:out value="${person.myDate} />
es gibt diesen in die Seite. 2013-06-08 00:00:00.0
Was ich tun wollen ist, entfernen Sie den zeitteil des Datum und formatieren Sie es MM-dd-yyyy
.
Habe ich versucht, dieses:
<c:set var="myDate" value="${person.myDate }"/>
<fmt:formatDate value="${myDate}" type="date" var="formattedDate"/>
und es gab mir die folgende Fehlermeldung
Unable to convert string '${myDate}' to class java.util.Datum für Attribut-Wert: java.lang.IllegalArgumentException: Property-Editor nicht registriert PropertyEditorManager
Dann habe ich versucht, die folgenden:
<c:set var="myDate" value="${person.myDate }"/>
<fmt:parseDate value="${myDate }" var="parsedDate" pattern="MM-dd-yyyy"/>
<c:out value="${parsedDate }"/>
und ich bekam:
Unparseable Datum: "${myDate }"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr code sollte normalerweise funktionieren. Versuchen Sie es so:
Es in der Regel nicht funktionieren, wenn Sie falsch JSTL Erklärungen entsprechend Ihrer Servlet - /JSP-version. Stellen Sie sicher, Sie Lesen Sie diese, bevor Sie versuchen, etwas anderes: Wie Referenz und Verwendung von JSTL in Ihre Web-Anwendung.
Wenn Sie nicht genau wissen, Ihre Umgebung, können Sie einige tests durchführen, um herauszufinden, die Versionen obwohl eine einfache
${1 + 2}
geschrieben in deinem JSP sollte ein guter Indikator für die JSP-version. Wenn Sie sehen3
in Ihrem browser, dann sind Sie mit JSP 2.x, wenn Sie sehen, dass der string${1 + 2}
statt, dann sind Sie auf der JSP-1.x.Müssen Sie fügen Sie die folgende Codezeile im head der Seite und dein code funktioniert perfekt.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>