- - PR -
《Struts》フォーム数が不定なActionFormの実装について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-13 12:38
Struts1.2にてアプリを実装しております。
例えば、セレクトボックスの数が動的に変化する場合、それを受けるActionFormの実装はどのようになるのでしょうか? ちなみに、実際の実装は、ValidatorForm を使用しております。 <select name="box1"></select> <select name="box2"></select> <select name="box3"></select> : : 不定 public class TestForm extends ValidatorForm { private String box1; ? ご教授いただけたら幸いです。 [ メッセージ編集済み 編集者: NV 編集日時 2006-06-13 12:40 ] | ||||
|
投稿日時: 2006-06-13 17:36
えーと、
同じ内容(例:都道府県)のセレクトボックスを幾つか(不定)作りたい って話ですか? だったら、 private List selectedItems; //選択結果 private List comboItems; //セレクトボックスの中身 とか。 ... というか、 ・どうしたいのか? ・どこで困っているのか?(+試してみたこと) などなど、もっと具体的に書いてもらえないと、分からないっす。 | ||||
|
投稿日時: 2006-06-13 18:53
>>同じ内容(例:都道府県)のセレクトボックスを幾つか(不定)作りたい
>>って話ですか? はいその通りです。 例えば下記ように、セレクトボックスが一つの場合は、 <select name="box1"> <option value="A">A型</option> <option value="B">B型</option> <option value="O">O型</option> <option value="AB">AB型</option> </select> public class TestForm extends ValidatorForm { private String box1; public String getBox1(){} public void setBox1(){} } で、パラメータを受けられると思いますが、セレクトボックスが無数にある場合のActionFormの実装方法が見当つきません。 <select name="box1"> <option value="A">A型</option> <option value="B">B型</option> <option value="O">O型</option> <option value="AB">AB型</option> </select> <select name="box2"> <option value="A">A型</option> <option value="B">B型</option> <option value="O">O型</option> <option value="AB">AB型</option> </select> <select name="box3"> <option value="A">A型</option> <option value="B">B型</option> <option value="O">O型</option> <option value="AB">AB型</option> </select> ・ ・ ・ 無数 セレクトボックスが無数にある場合のname属性の付け方と、FormActionの変数の実装方法が疑問点となります。 以上、説明が下手で申し訳ございません。 | ||||
|
投稿日時: 2006-06-13 22:56
name属性をおなじにして配列で受け取る手法は?
HTTPで配列ってのは何かと使いにくいので 個人的には好きではないのですが。 | ||||
|
投稿日時: 2006-06-13 23:21
えーと、(セレクトボックスに限ったお話では無いのですが)
そういった場合はname属性を同じにして要素をList型にするのが良いと思います。 例)
ポイントは ActionForm側) 添字を引数とするゲッターを用意すること JSP側) プロパティ属性の値を 「プロパティ名+[i]」とすること の2点で、このようにしてあげないと 「(想定される次のアクションで)選択した結果を意図通りに受けることができない」 からです。 ※この実装方法は 秀和システム 「カンタン Struts1.2」 7-15 List型のプロパティを持つActionForm のやり方を、ほぼそのまま記述しています。 「なぜ、こんな事をやらなければいけないか?」などの理由も記述されていますので、購入するなり、立ち読みするなりすることを是非ともお勧めします。 | ||||
|
投稿日時: 2006-06-14 09:06
なるほど。
name属性を同じにして配列として受け取れるのですね。 この辺に関しては無知でした。 inaさん、nagiseさんありがとうございます。 |
1