- PR -

struts iterateタグのindexIdについて

1
投稿者投稿内容
つんく
会議室デビュー日: 2005/02/02
投稿数: 8
投稿日時: 2005-03-01 18:29
Strutsのiterateタグについて教えてください。

まず、
<logic:iterate id="ID" name="LIST" indexId="cnt">
<html:multibox property="listNum" value="XXX"/>
<bean:write name="ID" property="name"/>
</logic:iterate>
のようなiterateタグがありまして、その中でチェックボックスを作っています。
ほんで、iterateタグのindexId属性"cnt"を用いて
property="listNum + cnt" とか value="cnt" っぽいことをして、
<input type="checkbox" name="listNum0" value="0">あああ
<input type="checkbox" name="listNum1" value="1">いいい
<input type="checkbox" name="listNum2" value="2">ううう
<input type="checkbox" name="listNum3" value="3">えええ
<input type="checkbox" name="listNum4" value="4">おおお
的なチェックボックスを作りたいのですが、
どのようにしたらよろしいでしょうか?

るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2005-03-02 00:29
るぱんです。

やめた方がいいと思います。
が、やるならば、
<logic:iterate id="temp" collection="" type="java.util.ArrayList" indexId="a">
<html:checkbox name="<%='listNum' + a%>" value="<%=a%>"/>
</logic:iterate>

って感じにすれば出来るんじゃないかと思います。
ただ、そんなソースは間違ってもメンテしたくないですけど・・・。
つんく
会議室デビュー日: 2005/02/02
投稿数: 8
投稿日時: 2005-03-02 13:44
るぱんさん、返答ありがとうございました。

Javaのコードを書かなければならないってことですね。
ビーンにname以外にvalue等を持たせてあげようと思います。

ありがとうございました。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2005-03-02 21:15
るぱんです。

チェックボックスの数が可変なのですか?
strutsは基本的に単語を意味づけして宣言する必要があるものだと言う認識なのですが、
それでも数字でやり取りしたいことを考えると、

テーブル構成で可変長になる事を意識しているのかなと思いましたが、
どうでしょう?

そのへんはJavaScriptの領域の様な気がするのですが・・・。
配列もコレクションとして扱えますし。。。(-。-) ボソッ
1

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