- PR -

jsp内で配列の値の扱いについて

1
投稿者投稿内容
やまもとやま
会議室デビュー日: 2005/11/22
投稿数: 2
投稿日時: 2005-11-22 13:38
java開発初心者のものです。
基礎的な質問ですみません。

JSPで一覧リスト表を表示されるページを作ろうとしています。

変数として、サーブレット側でlist_infoというオブジェクトを配列型で宣言して
name,link_url,link_name,image_url,desc といった項目に値が入っています。

JSPでjspタグを用いて一覧リスト表を表示されることは出来ております。
現在ある問題点としては、link_urlの値が入っている場合は良いのですが、値が入っていない場合にリンク先がnullのなってしまい、リンク切れの状態となってしまっています。よって、link_urlに値が入っている場合はリンク形式で表示、入っていない場合は空欄とする、といった制御をJSPにJAVAコード(if文)を書いてlink_urlの値を参照したいと考えています。

その際にJSP内のJAVAソースで、どのようにlist_info(配列)というオブジェクトの値をJSP側で扱えばよいのかが分かりません。
サーブレット側で定義したaaaという変数をsetAttribute,JSPのJAVAソース内でgetAttrivuteを用いると言ったことは出来ております。

分かっていないところは、配列となっている値をどのようにJSP側が扱えばよいのかといったことだと思います。
setAttributeに配列型で値を入れることは出来るのでしょうか?
もしくはその他良い方法はありますか?

ご教授お願いします。
宜しくお願い致します。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-11-22 14:31
>setAttributeに配列型で値を入れることは出来るのでしょうか?
まずやってみてはいかがでしょう?
ほまらら
ベテラン
会議室デビュー日: 2005/10/19
投稿数: 54
投稿日時: 2005-11-22 15:10
「jspタグを用いて一覧リスト表を表示する」というのがどういう事なのか良く判りませんが、
Attributeにはオブジェクトなら入るはずです。受け取りて側はキャストします。
従って、送り手側で
list_infoの配列(仮に配列名を_listとしましょうか)を
(1)session.setAttribute("sendList",_list);
で入れたら、受け取り側のJSPで、
(2)list_info _li = (list_info[])session.getAttribute("sendList");
で受け取れるはずです。(sessionは『暗黙オブジェクト』と言って、デフォで使用できます)
私はサーブレットの方でのセッション変数の取得方法は知りませんが、JSP同士ならこういう形式なります。
それとも、肝心のデータがページ上のformから送られてきたりするのでしょうか?
そうであれば、session.getAttributeの代わりにjsp:useBeanタグを使うのが手っ取り早いでしょう。
やまもとやま
会議室デビュー日: 2005/11/22
投稿数: 2
投稿日時: 2005-11-22 15:31
ありがとうございます。

受け取り側のJSP側で、
(2)list_info _li = (list_info[])session.getAttribute("sendList");
List_infoの後ろに"[]"を書いていなかったため、ダメだったようです。
[]をつけたところ受け取る事が出来ました。

データはDBから引っ張ってきた情報なので、useBeanタグは使えないと思われます。

ありがとうございました。

1

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