복붙노트

[SPRING] Spring의 명령 객체

SPRING

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
}

해결법

  1. ==============================

    1.귀하의 목록은 Activity ([0], activity [1] 등을 사용하여) 계획을 세울만큼 많은 LearningActivity 객체로 미리 채워 져야하거나 지연 목록이어야합니다. lazy list는 주어진 인덱스가 참조 될 때 빈 객체로 채워지는리스트입니다.

    귀하의 목록은 Activity ([0], activity [1] 등을 사용하여) 계획을 세울만큼 많은 LearningActivity 객체로 미리 채워 져야하거나 지연 목록이어야합니다. lazy list는 주어진 인덱스가 참조 될 때 빈 객체로 채워지는리스트입니다.

    의견은 Apache Commons LazyList를 사용하려고한다는 것을 나타내며, 작동해야합니다 - 가져 오기 지시문이 누락 되었습니까? 그러나 대안으로 AutoPopulatingList라고하는 Spring lazy list 구현이있다.

  2. ==============================

    2.여기에 가능한 두 가지 문제 :

    여기에 가능한 두 가지 문제 :

    # 1을 수정하고 # 2가 올바르게 완료되었다는 것을 확인한 후에도 오류가 사라지지 않으면 자세한 정보 (FormController 매핑 / 소스)를 게시하십시오.

  3. from https://stackoverflow.com/questions/1429760/command-objects-in-spring by cc-by-sa and MIT license