Tengo una jerarquía de clases de modelo en mi aplicación Spring/Hibernate.Clases abstractas y Spring MVC @ ModelAttribute/@ RequestParam
Al enviar un formulario POST a un controlador Spring MVC, hay alguna forma estándar de especificar el tipo de objeto que se envía, para que Spring pueda instanciar la subclase correcta del tipo declarado en @ModelAttribute o @RequestParam del método de recepción ?
Por ejemplo:
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 puede deserializar JSON como un subtipo concreto utilizando la anotación @JsonTypeInfo. Espero que Spring pueda hacer lo mismo.
Gracias, lo que quería decir era es esto posible cuando _No_ la presentación de una carga útil de JSON, más bien una forma de POST presentación normal. –
@Deejay ok actualizó mi respuesta –
Hola, trato de resolver un problema similar, pero sin resultado ... esta es mi pregunta: http://stackoverflow.com/questions/21550238/how-instantiate-a-concrete-class- in-init-binder ¿me puedes ayudar? – Teo