распорки 2 сохраняют объект динамической таблицы - PullRequest
0 голосов
/ 21 октября 2011

С тегом итератора s2 я могу отображать таблицу без проблем.и у меня есть две кнопки, чтобы добавить строку и удалить строку с Javascript.Ниже приведен фрагмент страницы jsp

<s:iterator value="entities" status="outerStat">
  <tr>
    <TD><input type="checkbox" name="chk"/></TD>
    <TD>
      <table width="100%" cellspacing="4" cellpadding="0" border='0'>
        <s:textfield name="entities[%{#outerStat.index}].entityName" value="%{entityName}"/>
      </table>
    </TD>
    <TD>
      <table width="100%" cellspacing="4" cellpadding="0" border='0'>
        <s:select  list="entityTypes" value="%{entityType}"/>
      </table>
    </TD>
    <TD>
      <table width="100%" cellspacing="4" cellpadding="0" border='0'>
        <s:textarea  name="entities[%{#outerStat.index}].sqlStmt" cols="120" rows="4"  maxlength="4000" value="%{sqlStmt}"/>
      </table>
    </TD>
  </tr>
</s:iterator>

Мой вопрос: каждый раз, когда я нажимаю кнопку AddRow, как я могу создать держатель объекта для этой строки на стороне сервера?откуда серверная сторона знает, сколько строк добавлено на стороне cient?

1 Ответ

0 голосов
/ 21 октября 2011

Как вы показали, вы не создадите объект на стороне сервера для каждой строки , когда вы нажмете кнопку.Вы создаете форму - объект на стороне сервера не будет создан / сохранен, пока форма не будет отправлена.Если вам нужно гарантировать порядок, вам нужно сохранить счетчик JavaScript для нотации массива атрибута «name».

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

...