Struts 1 - Row submit - PullRequest
       33

Struts 1 - Row submit

0 голосов
/ 10 января 2012

У меня проблема с формой Struts 1, которая содержит логику: итерация отвечает за создание строк, каждая из которых имеет кнопку ввода. Проблема возникает, когда я нажимаю любую из этих кнопок отправки, динамические данные не публикуются должным образом, и форма не имеет этих значений, вот пример:

<html:form action="/myAction" styleClass="centeredForm"  style="display:inline" >
  <td class="formLabel">City</td>
  <td class="formControl">
    <bean:define id="cities" name="myForm"
                 property="cities" type="java.util.Collection"/>
    <html:select styleClass="dashSelect" property="city">
      <html:option value="">All Cities</html:option>
      <html:options collection="cities"
                    property="id" labelProperty="value"/>
    </html:select>
  </td>

  ... Other elements ...

  <logic:iterate id="myObject" name="myForm" property="myObjects" indexId="index" type="com.test.MyObject">
      <% String rowClass = index.intValue() % 2 == 0 ? "even-row" : "odd-row"; %>
    <tr class="<%=rowClass%>">
      <td class="result-cell"><bean:write name="myObject" property="id" />&nbsp;</td>
      <td class="result-cell"><bean:write name="myObject" property="name" />&nbsp;</td>
      <td class="result-cell">
        <html:select styleClass="dashSelect" name="myObject" property="status">
          <html:option value="F">Disabled</html:option>
          <html:option value="T">Enabled</html:option>
        </html:select>
      </td>

      <td>
        <html:submit/>
      </td>

Часть "city" и остальная часть вне логики: итерация, просто отлично подходит для "myForm", но "myObject" - нет. Я даже пытался передать это с помощью функции JavaScript, но не смог заставить его работать должным образом. В настоящее время то, что у меня есть (этот html: submit, который я оставил в качестве ссылки), заставляет POST содержать набор параметров "status" и правильных значений, которые я упоминал ранее.

Кто-нибудь может пролить свет на это?

Дайте мне знать, если вам нужна дополнительная информация.

Заранее большое спасибо!

Ответы [ 2 ]

0 голосов
/ 11 января 2012

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

Спасибо!

0 голосов
/ 10 января 2012

Логическая итерация : попробуйте сделать это следующим образом. Это может помочь вам.

<logic:iterate name="myForm" property="myObjects" id="myObjects" indexId="true">
  <tr>
   <td class="result-cell"><bean:write name="myObjects" property="id" />&nbsp;</td>
      <td class="result-cell"><bean:write name="myObjects" property="name"/>&nbsp;</td>
      <td>
        <html:submit/>
      </td>    
  </tr>
</logic:iterate>
...