Как получить доступ к полям массива формы с Struts2 - PullRequest
0 голосов
/ 17 июня 2009

В настоящее время я работаю над одной формой, которая содержит 2 кнопки. При нажатии на кнопку 1 я получаю блок HTML-полей, как показано ниже.

`

<table width="100%">
    <tbody><tr>

      <td class="style4" width="12%" align="center">CODE<span class="style3"> </span></td>
      <td width="18%"><input name="c_code[]" value="" id="c_code__" class="box_border" style="width: 120px;" type="text"></td>
      <td class="style3" width="15%" align="right">Price</td>
      <td width="7%"><input name="c_price[]" value="" id="c_price__" class="box_border" style="width: 40px;" type="text"></td>
      <td class="style3" width="4%" align="right">Qty</td>
      <td width="7%"><input name="c_qty[]" value="" id="c_qty__" class="box_border" style="width: 40px;" type="text"></td>
      <td class="style3" width="9%" align="right">On Sale </td>

      <td width="3%"><input name="c_onsale[]" id="c_onsale__" value="" type="radio">    
<label for="c_onsale"></label>
</td>
      <td class="style3" width="10%" align="center">Exposition</td>
      <td width="15%"><input name="c_exposition[]" size="15" value="" id="c_exposition__" class="box_border" type="text"></td>
    </tr>
  </tbody></table>

`

Теперь каждый раз, когда пользователь нажимает на кнопку, весь блок, указанный выше, будет включен в html-форму с помощью вызова метода ajax.

  1. Теперь моя проблема в том, как мне получить значения всех элементов в виде массива в классе действий struts2. Или Как написать метод set и getter для этих массивов.

Есть ли какой-нибудь лучший способ выполнить вышеописанное другим способом, который облегчит мне работу?

  1. Как написать файл проверки struts2 для таких полей массива?

Может ли кто-нибудь помочь мне в этом вопросе.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 09 октября 2009

Хорошо, если вы можете переименовывать свои поля, используя индекс в массиве для каждой итерации, так что они будут называться c_name [0], c_name [1] и т. Д. ... Тогда вы можете просто определить массив в вашем действие класса и сопоставление будет сделано без проблем. Что касается проверки, я бы предложил проверку вашего действия на стороне сервера.

С уважением,

0 голосов
/ 02 апреля 2014

Используйте список вместо массива на стороне сервера, и структуры автоматически сопоставят новые секции (новый блок элемента в пользовательском интерфейсе) с ним.

Если вы определите его как массив, он не сможет инициализировать новый раздел каждый раз, так как размер не может динамически увеличиваться

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