- PR -

S2Strutsで配列型のフォームの値の取得

1
投稿者投稿内容
夢追い人
会議室デビュー日: 2006/05/10
投稿数: 4
投稿日時: 2006-05-11 00:07
S2Strutsを使っている中で配列のオブジェクトを取得できません。
知っている方/情報が載っているURL等ありましたら教えてください。

以下のようにDTOで値を受け取れると考えました。


【DTOの値の部分】
private List data = new ArrayList();

public MyValueBean getData(int iIndex) {
while (this.data.size() <= iIndex) {
this.section.add(new MyValueBean());
}
return (MyValueBean) this.section.get(iIndex);
//MyValueBeanはValueObjectでidとnameを持っています
}

public List getData() {
return data;
}

public void setData(List data) {
this.data = data;
}


【送信するFormData】
data[0].id=id0
data[0].name=name0
data[1].id=id1
data[1].name=name1


Strutsだと、確かgetData(index)が呼ばれて、Listの中に
追加されるオブジェクト(上記の場合MyValueBean)がインスタンス化
されて、各繰り返しの個数分Listにオブジェクトが追加されると
思っていたのですが、S2Strutsでは呼ばれないないようです。

どこか間違っているところがありますでしょうか?
それとも、根本的にやり方が違うのでしょうか?

ひょっとすると、↑の理解が間違っています?
最近使っていなかったので、うろ覚え、、、、
夢追い人
会議室デビュー日: 2006/05/10
投稿数: 4
投稿日時: 2006-05-11 00:54
自己レスです。
getterに対してのsetterが抜けていました。

public MyValueBean getData(int iIndex)

に対して

public void setData(int iIndex MyValueBean data)


getter/setterが揃っていると、繰り返しの値を取得できました。
(Strutsでも同じかな?)

知っていると当たり前な事でも、はまってしまうと難しいですね。

kuma
大ベテラン
会議室デビュー日: 2004/02/25
投稿数: 110
投稿日時: 2006-05-11 02:42
S2自体もそうですがアスペクト関係のものは
かなりネーミングに注意が必要です。
Listのget、setは複数形
addは単数形などのクセをつけたほうがいいですよ
1

スキルアップ/キャリアアップ(JOB@IT)