Spring中的命令对象

Jeu*_*une 6 java spring spring-mvc

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

我试过这样做但无济于事

<form:form commandName="course" method="POST">
     <form:input path="activity.activity"/>
         .
         .
         .
</form:form>
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

org.springframework.beans.NotReadablePropertyException: 
      Invalid property 'course' of bean class
Run Code Online (Sandbox Code Playgroud)

我的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
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*son 5

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

一条评论表明您正在尝试使用 Apache Commons LazyList,它应该可以工作——您是否缺少导入指令?但是,作为替代方案,有一个名为 AutoPopulatingList 的 Spring 惰性列表实现。