开发者

Bind objects in a Set collection

I have a form which fills some objects of a Collection. I had the collection implemented with a List (an everything worked good), but now I want to use a Set. I have a property editor registered to create the objects. The problem is that I don't know wha开发者_如何学JAVAt is the syntax I must use to populate the objects of the Set.

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

I have tried with the syntax in the form tags, like the syntax a list:

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

and like the syntax for a map:

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

but both come to an error because "Property referenced in indexed property path 'otherObjects[0]' is neither an array nor a List nor a Map"

I have also tried with

name="otherObjects"

but this doesn't fill the objects. Can anyone tell me how to bind the data to the objects in a Set.

Thanks


According to the documentation on data binding, you can only user the bracket notation to bind to nested objects in a "naturally ordered collection". A set doesn't qualify.


Can't you use the old syntax in the form tags and add a getter that will return a set of objects?

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

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜