- - PR -
ActionFormのプロパティにString型の二次元配列を使いたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-03-10 10:46
今日は、優子です。
上記の件で質問があります。 ActionFormのプロパティに配列を用いようとしていて、一次元配列のプロパティは問題なく使えるのですが、 二次元配列のプロパティを用いようとすると上手くいきません。 例として、ActionForm内にsampleというString型の二次元配列プロパティを宣言して、 private String[][] sample = new String[10][10]; getter/setter public String[][] getSample() { return sample; } public void setSample(String[][] strings) { sample = strings; } jspから送信するform内の要素を以下のようにしてみると <input type="text" name="sample[0][0]" value=1 size=10 > <input type="text" name="sample[0][1]" value=2 size=10 > BeanUtils.populate()メソッドでエラーが発生してしまいました。 ちなみに、jsp側で <input type="text" name="sample" value=1 size=10 > <input type="text" name="sample" value=2 size=10 > とするとエラーは発生しませんが、値の挿入のされ方が sample[0]に1が、sample[1]に2が挿入されてしまいます。 二次元配列を用いる方法で、sample[0][0],sample[0][1]といった具合に挿入することは出来ますでしょうか。 ご意見をよろしくお願い致します。 環境 OS WIN XP TOMCAT 5.0 STRUTS 1.2 | ||||
|
投稿日時: 2005-03-10 13:01
Beanに二次元配列は使えないでしょう。 マニュアルに載ってた気がします。 ViewHelperなど使って、違う方法を検討されては? | ||||
|
投稿日時: 2005-03-11 00:24
どうしても2次元配列にしなければいけない理由が無いのであれば、
私は「1行をBeanで表現して、それをListに格納する」をお勧めします。 同じように2次元配列ちっくに表現はできます。 表示は<logic:iterator>タグを使えば綺麗に表現できるし、 値もちゃんとActionFormにも送信できます。 確か以下のような感じでできます。
[ メッセージ編集済み 編集者: ピンクの恐竜 編集日時 2005-03-11 00:27 ] | ||||
|
投稿日時: 2005-03-11 01:42
さくさん、ピンクの恐竜さん、お返事ありがとうございました。
参考にさせていただきました。 |
1