0

Struts 1 フォームに問題があります。このフォームには、行の作成を担当する logic:iterate が含まれており、それぞれに入力ボタンがあります。これらの送信ボタンのいずれかを押すと問題が発生し、動的データが適切に投稿されず、フォームにそれらの値がありません。例を次に示します。

<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" の部分と logic:iterate の外側の残りの部分は、"myForm" では問題なく表示されますが、"myObject" はそうではありません。JavaScript 関数を使用してこれを送信しようとしましたが、適切に機能させることができませんでした。現在、私が持っているもの (参照として残したその html:submit) により、POST には、前に述べた一連の「ステータス」パラメーターと適切な値が含まれます。

誰でもこれに光を当てることができますか?

さらに情報が必要な場合はお知らせください。

よろしくお願いします!

4

2 に答える 2

0

Logic Iterate : この方法を試してみてください。

<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>
于 2012-01-10T06:28:56.920 に答える
0

1 つのフォームを使用する代わりに、logic:iterate 内でフォームを使用し、対応するプロパティにインデックスを追加し、Javascript 関数を使用して残りを取得しました。

ありがとう!

于 2012-01-11T01:37:05.527 に答える