- - PR -
logic:iterate
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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修正で対応しようと考えています。 よろしくお願いします。 | ||||
|
投稿日時: 2008-11-24 17:16
見た目の問題ではなくて? 生成されたHTMLにはきちんと書かれていませんか? マップの内容については確認されましたか? | ||||
|
投稿日時: 2008-11-24 19:33
HTML見てみました。
<tr> <td align="center" nowrap></td> </tr> こう表示されていました。 HTMLにはかかれていました。すいません。 一行も表示されませんでした!はまちがいですね。 でも 見た目は一行も表示されてません。 この見た目は変更できるのでしょうか? | ||||
|
投稿日時: 2008-11-24 23:16
どういうスタイルシートが設定されているのか分からないので、
完全にコレという方法はありません。古典的な方法ですが、 を出力するようにするというのはいかがでしょうか。 | ||||
|
投稿日時: 2008-11-24 23:25
コレクションをJSPに渡す前に、データが空の行を入れておき、固定5行にしてみては、如何でしょう。
| ||||
|
投稿日時: 2008-11-25 09:22
やんちさんの言う通り
Servlet側で必ず5件になるよう空データを追加するのが良いと思います。 JSP側に処理を入れることもできますが あまり行わないほうが良いと思われます。 | ||||
|
投稿日時: 2008-11-25 10:46
みなさん、返事ありがとうございます。
JSPで、ごりごり書く方がMVCっぽいのかと思って悩んでいました。 空行で必ず5行のデータをTreeMapに入れて、さらに、 JSP側に <logic:equal name="view" property="data" value=""> <td> </td> </logic:equal> <logic:notEqual name="view" property="data" value=""> <td><bean:write name="view" property="data"/></td> </logic:notEqual> という風に書くという認識でいいでしょうか? ちなみにスタイルシートは現状使用していません。 よろしくお願いします。 | ||||
|
投稿日時: 2008-11-25 13:29
概ね認識は合っているかと思います。
|