Spring MVC и флажки - PullRequest
       22

Spring MVC и флажки

11 голосов
/ 14 января 2010

Я использую Spring MVC 3.0 и не могу видеть все части этой проблемы: мой контроллер выдаст список объектов домена. Скажем, простой объект User со свойствами firstName, lastName, age и role. Я хочу вывести этот список пользователей в таблицу (по одному столбцу на свойство), в каждой строке также есть флажок, который выбран по умолчанию. Человек, использующий страницу, может потенциально отменить выбор некоторых из них. Когда они нажмут кнопку «Отправить», я бы хотел взять список выбранных пользователей и что-то с ними сделать.

Я знаю, что в Spring есть форма: флажок, но я не совсем понимаю, как его использовать и как получить результаты в контроллере.

Любая помощь или предложения?

Ответы [ 2 ]

21 голосов
/ 14 января 2010

Если у вашего User объекта есть поле id, вы можете отправить идентификаторы выбранных пользователей, например, такие (вам даже не нужен тег формы Spring для этого простого сценария):

<form ...>
    <c:foreach var = "user" items = "${users}">
        <input type = "checkbox" name = "userIds" value = "${user.id}" checked = "checked" /> <c:out value = "${user.firstName}" /> ...
    </c:foreach>
    ...
</form>

-

@RequestMapping (...)
public void submitUsers(@RequestParam(value = "userIds", required = false) long[] userIds)
{
    ...
}
1 голос
/ 14 октября 2014

Если страница содержит флажок и отправлена ​​содержащая ее форма, браузеры выполняют следующие действия.

  • если флажок установлен, он передается со своим атрибутом 'value' в качестве значения
  • если флажки не проверены, переменная вообще не передается.

В вашем случае я бы изменил @RequestParam ("abono") на @RequestParam (обязательно = false, value = "abono"), а затем проверил бы, что ваш логический тип равен нулю. Если значение равно нулю, флажок не был отмечен пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...