Ich benutze das Standalone-Spring-Framework und möchte Spring 3.2 @DateTimeFormat (pattern="TT / MM / JJJJ") implementieren, bekomme aber nicht die erwartete Ausgabe.
Mein Code-Snippet ist:
%Vor%Gibt folgendes Ergebnis:
%Vor%aber ich erwartete Ausgabe wie: 30/08/1999
Ich möchte ohne joda Zeitbibliothek implementieren
Versuchen Sie, das Format zu ändern:
%Vor% MM
ist für Monate, mm
für Minuten.
Sehen Sie sich diese Dokumentation an :
Das gebräuchlichste ISO-DateTime-Format JJJJ-MM-TT'T'hh: mm: ss.SSSZ z. B.
Ich weiß, dass es eine alte Frage ist, aber ich antworte, weil ich heute dasselbe Problem hatte und ich 4 Stunden Arbeit verloren habe, um die Lösung zu finden. Das Problem hierbei ist, dass Spring jackson zum Serialisieren und Deserialisieren von JSON verwendet. @DateTimeFormat
Annotation wird nicht funktionieren, du musst Jackson sagen, wie man das Datum serialisiert. Sie haben zwei Lösungen: die erste ist die Vereinfachung und ist% Co_de% Annotation in der Getter-Methode zu verwenden:
Die zweite Lösung besteht darin, einen benutzerdefinierten Serializer für Datumsfelder wie folgt zu erstellen:
%Vor%und verwenden Sie dann die Annotation in der get-Methode:
%Vor%Dieser Link erklärt, wie man den Serializer macht
Ich hatte ein anderes Problem, ich importierte in meiner JsonDateSerializer-Klasse die Klassen von @JsonFormat
package, aber spring gab mir diesen Fehler:
Also habe ich alle Importe in das Paket
geändert %Vor%und alles funktioniert gut. Ich hoffe, es kann jemandem helfen.
Sie rufen System.out.println
direkt in einer Methode Ihrer Klasse auf. Das kann nicht so funktionieren.
Sie müssen das dob
-Feld von außerhalb Ihrer Klasse aufrufen, zum Beispiel von einer JSP-Seite. Und so wird das Feld automatisch nach dem vorgegebenen Muster formatiert.
@ NumberFormat- und @DateTimeFormat-Annotationen funktionieren nur in der Spring MVC-Umgebung. Du musst <mvc:annotation-driven/>
benutzen
in Ihrer XML-Konfigurationsdatei.
Tags und Links spring