2010-12-13 5 views
7

Mam formularz, który wypełnia niektóre obiekty z kolekcji. Miałem kolekcję zaimplementowaną z Listą (wszystko działało dobrze), ale teraz chcę użyć zestawu. Mam zarejestrowany edytor właściwości do tworzenia obiektów. Problem polega na tym, że nie wiem, jaka jest składnia, której muszę użyć, aby zapełnić obiekty zestawu.Oprawa obiektów w kolekcji Zestaw

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

Próbowałem ze składnią w tagów formularza, jak składni listę:

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

i jak składni mapie:

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

ale obie są do błąd, ponieważ "Właściwość, do której odwołuje się indeksowana ścieżka właściwości" otherObjects [0] "nie jest ani tablicą, ani listą, ani mapą"

Próbowałem także z

, ale to nie wypełnia obiektów. Czy ktoś może mi powiedzieć, jak powiązać dane z obiektami w zestawie.

Dzięki

Odpowiedz

11

Według documentation on data binding, można tylko użytkownik notacja wspornik do wiązania obiektów zagnieżdżonych w „naturalnie uporządkowanego zbioru”. Zestaw nie kwalifikuje się.

0

nie można użyć starej składni w znacznikach formularza i dodać getter, która zwraca zestaw obiektów?

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

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

Myślę, że to rozwiązanie nie jest bardzo czyste, to tylko sposób na uniknięcie wiązania z zestawem. – Javi