Spring конвертер для преобразования нуля в пустую коллекцию - PullRequest
3 голосов
/ 15 ноября 2011

У меня есть весеннее веб-приложение MVC 3.0.

Я использую Spring Converter (без PropertyEditors) для преобразования идентификаторов (String) в доменные объекты.Это даже работает для коллекций из коробки без каких-либо проблем.Например, чтобы заполнить набор сущностей в объекте формы из пользовательского выбора в окне множественного выбора HTML.

За исключением случая, когда пользователь ничего не выбирает.Тогда свойство (Set<Entity> selection) Form-Object получает null.Даже если я назначу пустую коллекцию этому свойству в конструкторе Form-Object.Каждый раз, когда объект Form заполняется запросом http, который не содержит выбор пользователя, selection заменяется на null.Но я хочу, чтобы это была пустая коллекция!

Итак, мой вопрос: как настроить Spring Converter для заполнения поля Collection пустой коллекцией вместо нуля, если вход конвертера пуст?- Или даже лучше вообще игнорировать поле, если ввод пуст.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Если у вас есть установщик для вашего объекта, который вызывается с нулем, просто обработайте нуль. Например,

public void setBlammy(Set<String> newValue)
{
  if (newValue != null)
  {
    blammy = newValue;
  }
  else
  {
    blammy = new HashSet<String>();
  }
}
0 голосов
/ 15 ноября 2011

вы можете сделать пользовательское связующее для Set, но может быть проще просто поместить if-else (проверку на ноль) внутри getter / setter для selection?

...