2010-12-13 5 views
7

모음의 일부 개체를 채우는 양식이 있습니다. 컬렉션을 List로 구현했는데 (모든 것이 잘 작동했습니다), 이제 Set을 사용하고 싶습니다. 개체를 만들기 위해 등록 된 속성 편집기가 있습니다. 문제는 Set의 객체를 채우는 데 사용해야하는 구문이 무엇인지 모르겠다는 것입니다.집합 컬렉션의 개체 바인딩

public class MyObject(){ 
    Set<OtherObject> otherObjects = new HashSet(); 
} 

내가 구문처럼, 폼 태그의 구문을 사용하여 목록을 시도했다 :

name="otherObjects['${id}']" 

하지만 모두에 와서 :

name="otherObjects['${status.index}']" 

및지도에 대한 구문 등 "색인 된 속성 경로 'otherObjects [0]'에서 참조 된 속성이 배열도 목록도지도도 아니기 때문에 오류가 발생했습니다.

나는 또한 시도했다.

name="otherObjects" 

그러나 이것은 개체를 채우지 않는다. 누구나 세트의 객체에 데이터를 바인딩하는 방법을 알려줄 수 있습니까?

감사

답변

11

documentation on data binding에 따르면, 할 수 있습니다 브래킷 표기법은 "자연적으로 주문 수집"중첩 된 개체에 바인딩 할 수있는 유일한 사용자. 세트는 자격이 없습니다.

0

는 폼 태그의 오래된 구문을 사용하고 개체 집합을 반환하는 게터를 추가 할 수 있습니까?

public class MyObject(){ 
    List<OtherObject> otherObjectsList = new ArrayList<OtherObjects>(); 

    public Set<OtherObject> getOtherObject() 
    { 
    return new HashSet<OtherObject>(otherObjectsList); 
    } 
} 
+1

이 솔루션은별로 깨끗하지 못하다. Set에 바인딩하는 것을 피하는 방법 일 뿐이다. – Javi

관련 문제