2016-11-16 6 views
0

Ich weiß, dass eine DateTimeFormat-Annotation auf Date-Eigenschaften einer Model-Klasse in Spring definiert werden kann, aber gibt es eine Möglichkeit, eine standardmäßige dateTimeFormat-Annotation für alle Dates in Spring Model-Klassen zu definieren?Einstellung der DateTimeFormat-Annotation im Frühjahr

@DateTimeFormat (pattern = "MM/TT/JJJJ")
Privat Datum DeliveryDate;

Es wird mich davor bewahren, jedes Datumsfeld zu kommentieren. Es wird es mir auch erleichtern, später das anwendungsweite Datumsformat zu ändern.

+1

Sie können ein erstellen benutzerdefinierte Anmerkung, die hilft, Datum zu Ihrem Standardformat zu analysieren. Sie müssen jedoch Ihre benutzerdefinierte Anmerkung mindestens zu den Datumseigenschaften hinzufügen –

Antwort

1

in Ihrem Controller

@InitBinder 
protected void initBinder(WebDataBinder binder) { 
    SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/YYYY"); 
    binder.registerCustomEditor(Date.class, new CustomDateEditor(
      dateFormat, false)); 
} 
3

Wie kuhajeyan erwähnt, können Sie Bindemittel verwendet werden, aber nicht auf einem Controller, sondern auf Controller Beratung, dass es global gelten:

@ControllerAdvice 
public class GlobalDateBinder { 

/* Initialize a global InitBinder for dates*/ 

@InitBinder 
public void binder(WebDataBinder binder) { 
    // here you can use kuhajeyan's code 
} 
}