[Spring] SimpleFormController

0

Piszę forme w Springu używając SimpleFormController. Wszystkie wartości przekazywane przez forme są typu String, ale w modelu część jest np typu ini, Date itd. Mógłbym stworzyć osobną klase gdzie wszystkie pola były by typu string a potem tą klase skonwertował bym do odpowiedniej klasy z modelu z polami int i Date. Jednak wolałbym nie tworzyć dodatkowych klas i wykorzystać tylko klase z modelu. Czy istnieje jakiś sposób którym mógłbym skonwertować dane z formy klasy z modelu bez pomocniczych klas ?

0

Wydaje mi się, że nie musisz o to się martwić, Spring sam rozpozna ze pole jest typu int i przeprowadzi konwersję

0

Fakt na int sam przeprowadzi konwersje. Ale np. date mam w niestandardowej postaci więc już sam nie zrobi konwersji. Czy ktoś wie jak rozwiązać ten problem ?
Pozdrawiam.
PS. Przepraszam za temat, miałem coś jeszcze dopisać do niego ale za wcześnie opublikowałem. Mam nadzieje że temat nie poleci do kosza.

0

Zaimplementuj poniższą metodę w swoim kontrolerze:

    @Override
    protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
        binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm"), true));
    }

W skrócie należy zarejestrować edytor właściwości, który będzie potrafił przetworzyć obiekt danej klasy na wartość i tekstową i na odwrót. Spring MVC ma już kilka zaimplementowanych edytorów, między innymi edytor dat, którego użyłem powyżej.

0

Dzięki hurikhan - pomogło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1