2010-12-13 55 views
7

我有一個填充集合某些對象的表單。我用List實現了集合(一切運行良好),但現在我想使用Set。我有一個屬性編輯器註冊來創建對象。問題是我不知道我必須使用什麼語法來填充Set的對象。在Set集合中綁定對象

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

我曾嘗試與表單標籤的語法,比如語法列表:

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

和喜歡的語法的地圖:

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

但都變爲因爲一個錯誤「屬性,索引屬性路徑引用的‘otherObjects [0]’既不是一個數組,也不是一個列表,也不是圖」

我也試過

name="otherObjects" 

但是這並不填充對象。 誰能告訴我如何將數據綁定到Set中的對象。

感謝

回答

11

按照documentation on data binding,你只能在括號標記綁定到嵌套對象「天然有序集合」的用戶。一套不符合資格。

0

你不能使用表單標籤舊的語法,並添加一個getter,將返回一組對象?

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

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

我認爲這個解決方案不是很乾淨,它只是一種避免綁定到Set的方法。 – Javi 2010-12-13 13:48:20

相關問題