【发布时间】:2011-11-12 07:25:00
【问题描述】:
我的 Spring/Hibernate 应用程序中有一个模型类层次结构。
在向 Spring MVC 控制器提交 POST 表单时,是否有任何标准方法来指定所提交对象的类型,以便 Spring 可以实例化接收方法的 @ModelAttribute 或 @RequestParam 中声明的类型的正确子类?
例如:
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 可以使用 @JsonTypeInfo 注释将 JSON 反序列化为特定的子类型。我希望 Spring 也能做到这一点。
【问题讨论】:
标签: java inheritance binding spring-mvc jackson