【问题标题】:Binding sub class object to spring mvc jsp views将子类对象绑定到spring mvc jsp视图
【发布时间】:2013-10-17 21:56:50
【问题描述】:

spring mvc jsp视图中如何将子类对象绑定到表单?

例子:

public class Group
{
public List<Animal> animals;
//other propertys
}


abstract class Animal
{
String name;
}

class lion extends animal
{
String legs;
}

如何将 Group 对象绑定到 jsp 视图?

如果不能使用这个&lt;c:forEach items="${group.animals}" var="animal"&gt;,因为它会抛出异常。

我收到的异常是

Could not instantiate property type [Animal] to auto-grow nested property path: java.lang.InstantiationException

【问题讨论】:

  • 你是把group放在模型属性还是请求属性中?
  • 你有 animals 字段的吸气剂吗?
  • 您将不得不发布更多内容。向我们展示完整的类,您如何将 group 对象放入您的模型中,以及您希望如何从请求中取出它。

标签: java jsp spring-mvc view


【解决方案1】:

用于解析${groups.animals} 的EL engine 期望groups 标识的对象有一个名为getAnimals() 的getter 方法。

你的调用应该是这样的

public class Group
{
    public List<Animal> animals;
    public List<Animal> getAnimals() {
        return animals;
    }
}

【讨论】:

  • 我可以将它显示给用户,但是当我将它绑定回来时,它会在映射过程中引发错误。它无法实例化适当的子类对象
  • @SandeepRao 请始终发布您的错误和处理方法。
  • 我添加了例外
猜你喜欢
  • 2015-07-20
  • 2013-05-29
  • 1970-01-01
  • 2015-12-07
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多