Mam hierarchię klas modeli w mojej aplikacji Spring/Hibernate.Klasy abstrakcyjne i Spring MVC @ ModelAttribute/@ RequestParam
Po przesłaniu formularza POST do kontrolera Spring MVC, istnieje standardowy sposób określania typu przesyłanego obiektu, więc Spring może utworzyć instancję odpowiedniej klasy podanej w metodzie @ModelAttribute lub @RequestParam metody receive ?
Na przykład
public abstract class Product {...}
public class Album extends Product {...}
public class Single extends Product {...}
//Meanwhile, in the controller...
@RequestMapping("/submit.html")
public ModelAndView addProduct(@ModelAttribute("product") @Valid Product product, BindingResult bindingResult, Model model)
{
...//Do stuff, and get either an Album or Single
}
Jackson może deserializowania JSON jako specyficznego podtypu stosując adnotacji @JsonTypeInfo. Mam nadzieję, że Spring może zrobić to samo.
Dzięki, co miałem na myśli było to możliwe, gdy _nie_ złożenie ładunek JSON, raczej normalne przesyłanie formularza POST. –
@Deejay ok zaktualizował moją odpowiedź –
Witam, próbuję rozwiązać podobny problem, ale bez rezultatu .. to mam moje pytanie: http://stackoverflow.com/questions/21550238/how-instantiate--concrete-class- in-init-binder czy możesz mi pomóc? – Teo