Как получить значение строки таблицы в действии Struts2 - PullRequest
0 голосов
/ 03 февраля 2012

Я новичок в Struts 2, пожалуйста, помогите мне с приведенным ниже сценарием

У меня есть таблица в Jsp с использованием тега struts2. Все, что я хочу сделать, - это извлечь значение выбранной (проверенной) строки таблицы в классе действия.

Пожалуйста, дайте мне знать, как этого добиться.

<s:iterator value="listOfDtos" status="stat">
<tr>
<td><s:checkbox name="delete" value="select" /></td>
   <td><s:property value="FirstName"/></td>
   <td><s:property value="LastName"/></td>
   </tr>
   </s:iterator>
   <s:submit id="delete" value="delete"/>
}

"listOfDtos" является списком массивов od dto и устанавливается в действии, как показано ниже

 ActionContext.getContext().getValueStack().set("listOfDtos", listOfDtos);

Теперь, когда пользователь выбирает любую строку, подлежащую удалению, я хочу иметь возможность в первую очередь извлечь этот список dtos в Action и повторить их, чтобы проверить, какой из dtos имеет атрибут «select», установленный в true. select "- это атрибут типа String в dto.

Как это можно сделать? Также, как «listOfDtos» станет доступным в действии.

1 Ответ

0 голосов
/ 05 февраля 2012

Я не уверен, что правильно понял ваш вопрос. Но вот несколько входных данных для начала.

Нет необходимости делать ActionContext.getContext().getValueStack().set("listOfDtos", listOfDtos);, так как это будет тесно связывать ваш класс действий с каркасом. Я предлагаю вам создать свойство в вашем классе действий с именем listOfDtos как ArrayList и предоставить его методы получения и установки, среда будет поместите ваш массив в список значений для вас.

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

...