如何从jsp视图将子类对象返回到控制器。该页面接收具有子类元素的适当动物列表。我能够显示子类元素,但当我尝试将其发送回控制器时,我收到绑定错误。这是我的问题的模拟代码。
public class Group
{
public List<Animal> animals;
//getters and setters
}
abstract class Animal
{
String name;
//getters and setters
}
class Lion extends animal
{
String legs;
//getters and setters
}
我的观点:
<form:hidden path="groups[${groupssList.index}].animals[${animalsList.index}].name"/>
例外:
Could not instantiate property type [Animal] to auto-grow nested property path: java.lang.InstantiationException
答案 0 :(得分:0)
我认为您的path
值会导致null
引用,而Spring会尝试使用默认对象填充它。要禁用此默认行为,请添加到@Controller
类(每个)。
@InitBinder
public void initBinder(WebDataBinder binder){
binder.setAutoGrowNestedPaths(false);
}
你最终会得到一个不同的例外,但会更清楚。