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);
}
}
精彩评论