dポイントプレゼントキャンペーン実施中!

jspで複数のtextboxを作成して、setする場合にどのように記述すればいいのか、どうすればきれいなソースが書けるか教えてください。
irerateなども使用してみたのですが、今一いい感じのができないので、教えていただきたいと思います。
よろしくお願いいたします。

A 回答 (2件)

本文には配列のことについて一切書いてありませんでしたが。

題名を見ると、配列と書いてあるようなので
おもいつくまま、以下の案を書きます。
まったくためしていないし間違ってるかもしれない
のでご了承下さい。

1)ActionForm自体はstruts-config.xmlで定義されているscopeに
同じくstruts-config.xml上で定義されているnameの値をキーにて格納されている

2)logic:iteratorにて
id属性は好きな名前
name属性をstruts-config.xml上のActionFormのnameと対応させる。
property属性はActionFormの中にあるString[]型のプロパティーの名称

3)html:textをlogic:iteratorの中に書く
name属性はActionFormのString[]プロパティの名称を同一にする。
value属性は(2)におけるid属性を <%= %>にて指定する
    • good
    • 0
この回答へのお礼

lawson殿、回答ありがとうございました。
この方法で配列にデータを渡すことができました。
本当にありがとうございました。
そして、質問がわかりにくくてすみませんでした。

もう一つ質問なのですが、2次元配列などにはできるのでしょうか?
お教えいただいた方法だと、全てが同一のnameになると思われます。
できることなら、2次元配列(name[0][0])の様な形で固有のnameを取得することはできないのでしょうか?
まだまだ、質問にも不備があると思いますが、よろしくお願い致します。

お礼日時:2004/05/27 16:02

すいません。


そこまで、詳しくないです。

String[][]ではなく
Listの各要素にString[]を突っ込んで
logic:iteratorを
2重に入れ子にするなどが考えられますが。
そうすると、
html:textで指定するname属性
(リクエストパラメータのkey名になる)
とActionFormのプロパティー名をうまく対応させる
やり方が思いつきません。

無理にやってためしてみたらうまく
いくかもしれませんが・・・


request.getParameter(
などを使って設定するロジックを
自作する必要あるかもしれません。


一番簡単な方法は、
No1のように1次元配列にすることです。
なぜ、2次元配列にしなければならないかにも
よりますが。
プログラマの常識として、
剰余演算を使うことによって、
1次元配列は2次元配列に見立てて
使うことができます。

例えば、
縦5×横7の2次元配列を
1次元配列で表した時
1次元配列の添え字が i だとした時

横の添え字は i % 7
縦の添え字は i / 7
で求めることができます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
なかなか難しいのですね。
確かに剰余演算をうまく使うとよさそうですね。
プログラムのはしくれですが、全く思いつきもしませんでした。
これからも、わからないことがあったらよろしくお願い致します。

お礼日時:2004/05/28 15:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!