Получить / установить несколько флажков struts2 в / из списка - PullRequest
2 голосов
/ 26 января 2011

В настоящее время я разрабатываю приложение Struts2, в котором пользователь может выбрать один из трех вариантов, и в зависимости от этого выбора будет представлено несколько различных предустановленных флажков.Некоторые из флажков будут отображаться независимо от сделанного выбора, в то время как другие будут уникальными для каждого возможного выбора.Всего в настоящее время существует около 50 различных флажков, и каждый флажок будет иметь идентификатор от 1 до 50.

Выборы, сделанные пользователем, будут сохранены в виде строк в базе данных, и мне нужновозможность заполнить выбранные флажки, если пользователь хочет изменить сделанные выборы.

Использование списка флажков не подходит, так как мне нужно поместить флажки в различные наборы полей на странице.Так что я думаю, что застрял с обычным.

Теперь, кто-нибудь получил хорошее представление о том, как я мог бы: 1) Извлечь выбранные флажки, предпочтительно, поместив их в список / набор в моем действии 2) Заново установите выбранные флажки в списке, в котором сохранены выбранные данные?

Любые идеи очень ценятся!

1 Ответ

2 голосов
/ 26 января 2011

1) Чтобы получить выбранные флажки, используйте что-то вроде этого (предположим, вы используете JSP):

<input type="checkbox" name="YourName" id="checkbox-1" value="1" />
<input type="checkbox" name="YourName" id="checkbox-2" value="2" />
<input type="checkbox" name="YourName" id="checkbox-3" value="3" />
etc...

В вашем классе Action вы можете получить переменную "YourName", например, в виде массива целых чисел, он будет автоматически заполнен установленными идентификаторами флажков Struts2.

2) Например, для повторного заполнения флажков на странице редактирования существует множество возможных решений (не могли бы вы дать нам более подробную информацию о вашей архитектуре, объектах и ​​т. Д.?)

В вашем классе Action вы можете получить в списке идентификаторы ранее проверенных флажков (давайте назовем его selectedList). Как только в вашем представлении JSP, вы можете добавить параметр "checked =" checked "" в поле вашего флажка при условии, что идентификатор блока содержится в selectedList. Нечто подобное должно работать:

<s:if test="'checkboxId' in selectedList">checked="checked"</s:if> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...