2012-01-09 12 views
0

Struts 1フォームに問題があります。これはロジックを含んでいます。行を作成し、それぞれ入力ボタンで処理します。 問題、私はそれらのいずれかのボタンを提出打ったとき、動的なデータが適切に掲載されていないと、フォームがこれらの値を持っていない、ここでの例ですアップします:Struts 1 - Row submit

<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> 

「都市」の部分と、ロジックの外に休ませる:繰り返し、 "myForm"をうまく上げてください。しかし、 "myObject"はそうではありません。私はJavaScript関数を使ってこれを送信しようとしましたが、正しく機能するようにはできませんでした。 現在のところ、私が持っているもの(そのhtml:私がリファレンスとして残したもの)はPOSTに、以前に言及した一連の "status"パラメータと適切な値を含んでいます。

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

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

ありがとうございます!

+0

あなたは何を意味するのかよく分かりません。あなたは 'indexed'タグ([here](http://struts.apache.org/1.2.7/faqs/indexedprops.html)参照)やネストされたタグを使用していませんし、手動でインデックス付きのプロパティ名を作成することもありません。しかし、うまくいかないものについては完全にはっきりしない。 (いくつかのタグ/豆では余分な努力をしているように見えますが、古くなったコンテナを使用している場合は、JSP ELまたは少なくともEL Strutsタグを使用することを検討しましたか?) –

+0

問題は、フォームに「myObject」が設定されていないと、ロジックを介して作成したすべての行の情報が反復されます。 その間にインデックス付きのタグを見ていきます。 – LdSe

答えて

0

は、私はちょうどロジック内のフォームを使用しました。

ありがとうございます!

0

論理反復:この方法を試してください。役立つかもしれません。 、反復の対応するプロパティにインデックスを追加し、残りを得るために、JavaScript関数を使用:代わりに1つのフォームを使用しての

<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> 
+0

こんにちはサブディレクトリ 残念ながら、bean:writeには値またはインデックス付き属性はありません。 : 別のものを使用することを意味していましたか? お返事ありがとうございます。 – LdSe

+0

ああ!値とインデックスを使用していない場合、何が起こりますか?私の更新の答えは、これをやろうとすると、まだ何か問題が私に知らせてください。 – subodh