Связать объекты в коллекции Set - PullRequest
9 голосов
/ 13 декабря 2010

У меня есть форма, которая заполняет некоторые объекты коллекции.У меня была коллекция, реализованная с помощью List (все работало хорошо), но теперь я хочу использовать Set.У меня есть зарегистрированный редактор свойств для создания объектов.Проблема в том, что я не знаю, какой синтаксис я должен использовать для заполнения объектов набора.

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

Я пробовал использовать синтаксис в тегах формы, например, синтаксис список:

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

и аналогично синтаксису для карты:

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

, но оба приводят к ошибке, поскольку "Свойство, указанное в пути индексированного свойства 'otherObjects [0]", не является ни массивомни Список, ни Карта "

Я также пробовал с

name="otherObjects"

, но это не заполняет объекты.Может кто-нибудь сказать мне, как связать данные с объектами в наборе.

Спасибо

Ответы [ 2 ]

13 голосов
/ 13 декабря 2010

Согласно документации о привязке данных пользователь может использовать только скобочную запись для привязки к вложенным объектам в «естественно упорядоченной коллекции».Набор не подходит.

0 голосов
/ 13 декабря 2010

Разве вы не можете использовать старый синтаксис в тегах формы и добавить метод получения, который будет возвращать набор объектов?

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

  public Set<OtherObject> getOtherObject()
  {
    return new HashSet<OtherObject>(otherObjectsList);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...