Spring Binding / Velocity для резервного списка - PullRequest
3 голосов
/ 04 марта 2011

Я пытаюсь привязать флажок к списку элементов в моем 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

Ответы [ 2 ]

1 голос
/ 08 марта 2011

Необходимый код привязки:

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

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

0 голосов
/ 04 марта 2011

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

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

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

См. Также:

...