Spring Binding / Velocity к списку поддержки

Я пытаюсь привязать флажок к списку элементов в моем POJO.

class SimplePOJO {
   private List <Key> selectedEntities = new ArrayList<Key>();
   public void setSelectedEntities(List <Key> a) { this.selectedEntities = a; }
   public List <Key> getSelectedEntities() { return this.selectedEntities; }
}

Разметка по скорости:

#springBind("command")
#springFormCheckBox("command.selectedEntities", "") 

Это вообще не работает, просто выводит код дословно.

Попытка использовать стандартные предметы:

<input type="checkbox"
   #if ($command.selectedEntities.contains($item)) checked="checked" #end
   value="$item.key" />

Всякий раз, когда я устанавливаю какой-либо из полей и отправляю форму, мой список вспомогательных компонентов остается пустым. Как я могу выполнить установку значений в список?

Примечание. Я также пытался сделать следующее в POJO:

private List <Key> selectedEntities = new AutoPopulatingList <Key>(Key.class);

Среда: Spring 3.0.5, Velocity Engine 1.7


person Scott    schedule 03.03.2011    source источник


Ответы (2)


Код привязки, который мне нужен:

#springFormCheckbox("command.selectedEntities[$velocityCount]", "id=entity$velocityCount value=$item.key #if($command.selectedEntities.contains($item.key)) checked=checked #end ")

Я склоняюсь к опечатке в живой версии вместо этого упрощенного примера.

person Scott    schedule 08.03.2011

Возможно, вам нужно это:

#springFormCheckboxes("command.selectedEntities" $labels " " "")

Где $labels — это карта от Key до меток их чекбоксов, третий параметр — разделитель между чекбоксами, четвертый — произвольные атрибуты.

См. также:

person axtavt    schedule 04.03.2011
comment
Возможно, я не объяснил это должным образом, но у меня есть список объектов, которые я показываю пользователю. У меня есть флажок (для каждой строки), который я хотел бы отобразить для пользователя - мне нужно знать, какие строки они проверили, чтобы при отправке формы я мог предпринять соответствующие действия. Проблема в том, что я не могу добавить их в список элементов. - person Scott; 06.03.2011