- PR -

logic:iterate

投稿者投稿内容
DOON
会議室デビュー日: 2008/10/27
投稿数: 11
投稿日時: 2008-11-24 15:28
Strutsのlogic:iterateで質問です。

<logic:iterate id="maps" name="Form" property="map">
<bean:define id="index" name="maps" property="key"/>
<bean:define id="view" name="maps" property="value"/>
<tr>
<td>
<bean:write name="view" property="data"/>
</td>
</tr>
</logic:iterate>

上記のようにFormに設定したTreeMapをjspに表示するプログラムを
作成しています。

このTreeMapの中身が0件でも、1件でも
jspに固定行5行で表示したいです。
客が、データ数で行数が増えたり、減ったりするのを嫌がっています。

これはjspで実践するにはどうしたらいいのでしょうか?

TreeMapに空データを5件作成したら、一行も表示されませんでした。

また、行数の5という値はActionFormに持たして可変としたいです。
客が行数増やしたいと言った時にXML修正で対応しようと考えています。

よろしくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-11-24 17:16
引用:

TreeMapに空データを5件作成したら、一行も表示されませんでした。


見た目の問題ではなくて?
生成されたHTMLにはきちんと書かれていませんか?
マップの内容については確認されましたか?
DOON
会議室デビュー日: 2008/10/27
投稿数: 11
投稿日時: 2008-11-24 19:33
HTML見てみました。
<tr>
<td align="center" nowrap></td>
</tr>
こう表示されていました。
HTMLにはかかれていました。すいません。
一行も表示されませんでした!はまちがいですね。

でも
見た目は一行も表示されてません。

この見た目は変更できるのでしょうか?


かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-11-24 23:16
どういうスタイルシートが設定されているのか分からないので、
完全にコレという方法はありません。古典的な方法ですが、
&nbsp;を出力するようにするというのはいかがでしょうか。
やんち
常連さん
会議室デビュー日: 2008/10/24
投稿数: 32
投稿日時: 2008-11-24 23:25
コレクションをJSPに渡す前に、データが空の行を入れておき、固定5行にしてみては、如何でしょう。
ジン
ベテラン
会議室デビュー日: 2007/07/27
投稿数: 52
投稿日時: 2008-11-25 09:22
やんちさんの言う通り
Servlet側で必ず5件になるよう空データを追加するのが良いと思います。

JSP側に処理を入れることもできますが
あまり行わないほうが良いと思われます。
DOON
会議室デビュー日: 2008/10/27
投稿数: 11
投稿日時: 2008-11-25 10:46
みなさん、返事ありがとうございます。
JSPで、ごりごり書く方がMVCっぽいのかと思って悩んでいました。

空行で必ず5行のデータをTreeMapに入れて、さらに、
JSP側に
<logic:equal name="view" property="data" value="">
<td>&nbsp;</td>
</logic:equal>
<logic:notEqual name="view" property="data" value="">
<td><bean:write name="view" property="data"/></td>
</logic:notEqual>
という風に書くという認識でいいでしょうか?

ちなみにスタイルシートは現状使用していません。


よろしくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-11-25 13:29
概ね認識は合っているかと思います。

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