2010-12-13 15 views
7

Ho un modulo che riempie alcuni oggetti di una raccolta. Ho implementato la raccolta con una lista (tutto ha funzionato bene), ma ora voglio usare un set. Ho un editor di proprietà registrato per creare gli oggetti. Il problema è che non so quale sia la sintassi che devo usare per popolare gli oggetti del Set.Associazione di oggetti in una raccolta Set

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

ho provato con la sintassi nei tag di forma, come la sintassi un elenco:

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

e, come la sintassi per una mappa:

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

ma entrambi venire a un errore perché "La proprietà a cui si fa riferimento nel percorso della proprietà indicizzata" otherObjects [0] "non è né un array né una lista né una mappa"

Ho anche provato con

name="otherObjects" 

ma questo non riempie gli oggetti. Qualcuno può dirmi come associare i dati agli oggetti in un Set.

Grazie

risposta

11

Secondo il documentation on data binding, si può solo utente la notazione staffa per l'associazione a oggetti nidificati in una "raccolta naturalmente ordinata". Un set non si qualifica.

0

non è possibile utilizzare la vecchia sintassi nei tag form e aggiungere un getter che restituirà un insieme di oggetti?

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

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

Penso che questa soluzione non sia molto pulita, è solo un modo per evitare di legarsi a un Set. – Javi

Problemi correlati