- ベストアンサー
StrutsでJSPからListを受け取りたい
- JSPに複数のhidden(動的に数が変化)があり、これらの値をformのlist(配列)に詰めたいです。
- Beanを使用せずに一つの値を受け取る方法はあるのか
- StrutsとJSPを使用してListを受け取る方法について質問します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
うーむむ・・・。こゆうことでしょうか。 アドバイスの方向が間違ってたらすいません。 (※実行してないため、コードはあくまで参考程度で。) ----Jsp側 <html:hidden property="strArray[0]" value="a" /> <html:hidden property="strArray[1]" value="b" /> <html:hidden property="strArray[2]" value="c" /> .... ----Form側 String[] strArray; List<String> strList; public void setStrArray(String[] strArray) { ____this.strArray = strArray; ____this.strList = Array.asList(strArray); } public String[] getStrArray() { ____return this.strArray; } public List<String> getStrList() { ____return this.strList; }
その他の回答 (1)
- kana_m
- ベストアンサー率40% (26/65)
「formのlist(配列)」ってどっちなんでしょうか。 私の読解力が足りないのか、何をしたいのかよくわかりません。 とりあえず画面のリクエストから直接サーバのJVM内に 直接Listを実装したオブジェクトを生成することはできません。 画面から送られてくるデータをサーバ側でListで扱うには、 それ相応のオブジェクト生成や設定処理が必要になります。 Strutsであれば、Form(またはLogic)内で新規に生成したListオブジェクト、 または他スレッドと同期するシングルトンのListオブジェクトに対し リクエストから受け取ったデータを詰めるのが一般的です。
補足
回答ありがとうございます。 そして、文章がわかりずらく申し訳ございません。 kana_mさんの意見を取り入れ、やりたい事を記述してみます。 下記のようなJSPがあり、submitしてActionに来たときにformのListにstr1~str3がstrListに入っているという状態にしたいです。 実際はJSP上のstrは動的に個数が変化するため、個別のsetterを作成するのは避けたいという状況です。 そのための、jspのinputタグの記述方法、setterの記述方法を知りたいです。 わかりずらかったら再度言っていただけると幸いです。 よろしくお願い致します。 ~~~JSP~~~ <input type="hidden" name="str1" value="a"/> <input type="hidden" name="str2" value="b"/> <input type="hidden" name="str3" value="c"/> ~~~~~~~~ 上のJSPから下記のようなFORMに詰めたい (str1、str2、str3を取得する際に全てsetStrを呼びたい) ~~~form~~~ private List strList = new ArrayList(); public void setStr(String str){ strList.add(str); } public List getStrList(){ return strList; } ~~~~~~~~