2014-12-01 10 views
6

в моем примере @DateTimeFormat аннотацию игнорируется, когда вложенности объектов:Spring: @DateTimeFormat игнорируются вложенные объекты

class Person { 
    private Date birthdate; 
    // other fields 

    @DateTimeFormat(pattern="dd.MM.yyyy") 
    public Date getBirthdate(){ 
     return birthdate; 
    } 
    // Other getters/setters 
} 

И у меня есть класс, который гнездящихся эти объекты.

class PersonGroup { 
    private Person person1; 
    private Person person2; 
    // other fields 

    @Valid 
    public Person getPerson1(){ 
     return person1; 
    } 

    // also tried without @Valid-Annotation 
    public Person getPerson2(){ 
     return person2; 
    } 
    // Other getters/setters 
} 

добавить объект типа PersonGroup моей модели в @Controler -метода так:

model.addAttribute("myGroup", filledPersonGroup); 

В JSP Я использую печать вложенные переменные:

<form:form modelAttribute="myGroup" action="..." > 
    <form:input path="person1.birthdate" > 
    <form:input path="person2.birthdate" > 
    ... 
</form:form > 

Но, к сожалению, значения даты в полях ввода не отформатированы правильно (но дата указана в принципе.). Он работает, когда я непосредственно добавляю к модели экземпляр класса Person.

Может ли кто-нибудь сказать мне, как я могу справиться с этим? Я хочу, чтобы дата моих вложенных объектов была отформатирована правильно.

Я использую Spring 4.1.1-RELEASE

ответ

1

Вы пробовали аннотирование поля, а не метод?

class Person { 
    @DateTimeFormat(pattern="dd.MM.yyyy") 
    private Date birthdate; 
    // other fields 

    public Date getBirthdate(){ 
     return birthdate; 
    } 
    // Other getters/setters 
} 
Смежные вопросы