Spring中的命令对象


问题内容

我有一个由基本字段和对象字段组成的命令对象。如何将表单字段绑定到对象中的字段?

我尝试这样做,但无济于事

<form:form commandName="course" method="POST">
     <form:input path="activity.activity"/>
         .
         .
         .
</form:form>

我得到这个错误

org.springframework.beans.NotReadablePropertyException: 
      Invalid property 'course' of bean class

我的Command类是这样的

public class Course {
    private long id;
    private String owner;
    private String title;
    private List<LearningActivity> activity = new ArrayList<LearningActivity>();

    //getters and setters
}

public class LearningActivity {
private long ID;
private String activity;
    private String link;

    //getters and setters
}

问题答案:

您的列表要么需要预先填充计划要引用的LearningActivity对象(使用活动[0],活动[1]等),要么必须是惰性列表。惰性列表是一个列表,当引用给定索引时,该列表将使用空对象填充自身。

注释表明您正在尝试使用应该起作用的Apache Commons LazyList-
您是否缺少导入指令?但是,作为替代方案,可以使用Spring惰性列表实现,称为AutoPopulatingList。