- PR -

タグの入れ子について

1
投稿者投稿内容
げん
会議室デビュー日: 2004/03/24
投稿数: 15
投稿日時: 2004-04-02 09:34
こんにちは。
現在Struts1.1を使ってJSPを作成しています。
コレクションクラスに文字配列を格納し、一覧形式で表示したいのですが、
<logic:iterate>タグの使い方がわかっていません。
やりたいのはこんなことです。

前提:data2はLinkedListオブジェクト。
   要素として文字型配列String[]のデータdetailを格納。
<table>
<logic:iterate id="getData" name="search" property="data2">
<!-- iterateを使って一覧表示したいが、ネストできない -->
<tr><logic:iterate id="getData" name="search" property="detail">
<td><bean:write name="getData"/></td>
</logic:iterate></tr>
</logic:iterate>
</table>

以下のスレを見て参考にしてみましたがうまくいきません。
件名:struts1.1 iterateタグのネストについて
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7567&forum=12&2


以下の記述だと、String[]のデータが表示されています。

<table>
<logic:iterate id="getData" name="search" property="data2">
<tr><td class="Cttl"><bean:write name="getData"/></td></tr>
</logic:iterate>
</table>

内部の文字列を1つずつ取り出す方法はあると思うんですが、
かれこれ1日うまくいきません...
アドバイスがあればよろしくお願いします。

_________________
アティ
ベテラン
会議室デビュー日: 2003/08/14
投稿数: 91
お住まい・勤務地: KANAGAWA
投稿日時: 2004-04-02 15:33
<logic:iterate>タグをforeachで表すと、
コード:
foreach(object [id] in [name].Get[property])
{
〜
}


こんな感じになります。
じゃあ、多重ループの時は分かりますよね?
げん
会議室デビュー日: 2004/03/24
投稿数: 15
投稿日時: 2004-04-02 20:00
アティさま、お返事ありがとうございました。
わかりました!
アドバイスのおかげで画面表示されました。
ずっとJSPが間違っていると思っていたのですが、
実際はActionFormクラスのsetterが間違っていました。
以下の記述に直したらうまくいきました。

public Collection getData() {
for (int i=0; i<data.size(); i++) {
detail = (String[])data.get(i) ;
setDetail(detail);
}
return data;
}

ピンポンなご指摘、ありがとうございました。
1

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