Как предварительно заполнить контрольный список с помощью struts2 - PullRequest
2 голосов
/ 02 ноября 2011

Я использую Struts2 и пытаюсь заполнить данные системы контрольным списком. При отправке мне отправляется массив строк, который содержит «id» выбранного элемента [«8», «2», «5»]

но если я заранее заполнил это поле заранее тем же массивом строк - ничто не помечено галочкой, что я делаю не так?

определение выглядит следующим образом:

<html:checkboxlist list="userroleslist" listKey="id" listValue="description" name="userroleresponse" label="User Roles"/>

userroleslist содержит список, содержащий полный список опций с идентификатором, являющимся значением, которое я использую, и полем описания в качестве отображаемой метки (это все работает). Userroleresponse - это строковый массив, который возвращается как ["8", "2", "5"], когда отмечены и отправлены, но если предварительно заполнено, флажки на экране не отмечены,

1 Ответ

3 голосов
/ 02 ноября 2011

Используйте атрибут value, чтобы установить значения для включения. Здесь, если у вас есть метод в классе действий с подписью String [] getUserroleresponse(), измените свой тег следующим образом:

<html:checkboxlist list="userroleslist" listKey="id" listValue="description" name="userroleresponse" label="User Roles" value="userroleresponse"/>

Кроме того, убедитесь, что тип данных listKey должен соответствовать предоставленному массиву значений. Например, если id имеет тип String, массив значений должен иметь тип String [].

Вы можете сослаться на следующую ссылку для примера:

http://www.mkyong.com/struts2/struts-2-scheckboxlist-multiple-check-boxes-example/

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