Wie kann ich das Format für ein Datum in einem Textfeld mit Spring MVC festlegen?
Ich verwende die Spring Form-Tag-Bibliothek und das input
-Tag.
Was ich jetzt bekomme ist so etwas wie Mon May 28 11:09:28 CEST 2012
.
Ich möchte das Datum in dd/MM/yyyy
format anzeigen.
Registrieren Sie einen Datumseditor in Ihrem Controller:
%Vor%und dann kann der Dateneditor selbst so aussehen:
%Vor%Ich verwende meine eigene abstrakte Nutzungsklasse (Joda) zum Parsen von Daten, in der Tat LocalDates von der Joda Datetime-Bibliothek - empfohlen wie der Standard Java Datum / Kalender ist ein Greuel, imho. Aber Sie sollten die Idee bekommen. Außerdem können Sie einen globalen Editor registrieren, so dass Sie nicht jeden Controller (ich kann mich nicht erinnern wie).
Wenn Sie alle Daten formatieren möchten, ohne den gleichen Code in jedem Controller zu wiederholen, können Sie einen globalen InitBinder in einer Klasse erstellen, die mit @ControllerAdvice Anmerkung
1. Erstellen Sie eine DateEditor-Klasse, die Ihre Daten wie folgt formatiert:
%Vor%2. Erstellen Sie eine mit @ControllerAdvice (ich nannte es GlobalBindingInitializer) annotierte Klasse:
%Vor%3. Fügen Sie in Ihrer Spring MVC-Konfigurationsdatei (z. B. webmvc-config.xml) die Zeilen hinzu, mit denen Spring das Paket scannen kann, in dem Sie Ihre GlobalBindingInitializer-Klasse erstellt haben. Wenn Sie beispielsweise GlobalBindingInitializer im Paket org.example.common erstellt haben:
%Vor%Fertig!
Quellen:
Tags und Links java spring spring-mvc