質問

現在、2つのボタンを含む1つのフォームに取り組んでいます。 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>

`

ユーザーがボタンをクリックするたびに、上記のブロック全体がajaxメソッド呼び出しを使用してhtmlフォームに含まれます。

  1. 今、私の問題は、すべての要素の値をstruts2アクションクラスの配列として取得する方法です。 または、これらの配列のセッターおよびゲッターメソッドを記述する方法。

作業を簡単にする他の方法で上記を実行するより良い方法はありますか?

  1. このような配列フィールドのstruts2検証ファイルの書き方

この問題について誰でも助けていただけますか。

ありがとう。

役に立ちましたか?

解決

OK、各反復の配列内のインデックスを使用してフィールドの名前を変更できる場合、c_name [0]、c_name [1]などの名前が付けられます。その後、配列を配列で定義できますアクションクラスとマッピングは問題なく行われます。 検証については、アクションのサーバー側検証をお勧めします。

よろしく、

他のヒント

サーバー側で配列の代わりにリストを使用すると、Strutsは新しいセクション(UIの要素の新しいブロック)を自動的にマッピングします。

配列として定義すると、サイズが動的に増加できないため、毎回新しいセクションを初期化できません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top