Доступ к списку параметров в контроллере - PullRequest
4 голосов
/ 24 июня 2011

Я очень плохо знаком с Граалсом (1.3.7), поэтому, пожалуйста, будьте терпеливы: -)

У меня есть GSP, где у меня есть различные флажки. Пользователь может нажать на них, а затем отправить свой ответ контроллеру. Контроллер получает этот запрос правильно.

Моя проблема в том, что для работы с тем, что выбрал пользователь, я должен проверить каждый параметр - чтобы убедиться, что этот флажок действительно установлен. Это действительно громоздко и не очень хорошо работает, потому что страница, отображающая флажки, является динамической, поэтому флажки, которые можно щелкнуть, также являются динамическими. В моем контроллере я не знаю, для каких параметров я должен проверить.

Есть ли возможность получить список всех флажков (или лучше: все отмеченные флажки) в моем контроллере? Я исследовал, но не нашел ответа!

Спасибо за ответ! :-)

[РЕДАКТИРОВАТЬ]

Спасибо,

params.name.each{i->
            System.out.println(i);
}

очень прост и работает :-) Он просто возвращает проверенные

1 Ответ

11 голосов
/ 24 июня 2011

Он должен быть передан в качестве дополнительного параметра запроса (это ограничение http).Вы можете добавить следующее поле в форму, например:

<input type="hidden" name="checkboxes" value="${myCheckboxesNames.join(',')}"/>

или сделать то же самое с помощью JavaScript, так как его имена являются динамическими на стороне клиента.

Кстати, вы также можете проверить все запросыпараметры,

params.each { name, value ->
// so something
}

, поэтому, если вы используете какой-то специальный префикс / суффикс для имен этого флажка, это будет:

params.entrySet().findAll {
   it.key.startsWith(prefix)
}.each {
   println "Checkbox $it.key = $it.value"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...