アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaBeanでDBにアクセスして、取得した値を配列に格納します。その配列をサーブレット側でgetメソッド使って取得し、セッションに割り当てます。その後、JSP側でセッションを通して配列の各要素を取り出し表示させたいのですが<%= session.getAttribute("Date") %>←(Dateが配列)では配列の各要素ではなく配列そのものが取り出されるのか、
[Ljava.lang.String;@737371
のような文字が表示されてしまいます。
セッションで割り当てられた配列の各要素の値の取得のやり方がわかる方どうかご教授お願いします。

A 回答 (2件)

setAttribute() で、保存したものがそのまま getAttribute() で取得できる


わけですから、配列をセットしていれば、ゲットできるのは配列です。

例えば、一番目の要素の値であれば、

<%= session.getAttribute("Date")[0] %>

です。

この回答への補足

やってみたところ
[] は配列にのみ適用できます。java.lang.Object には適用できません。out.print( session.getAttribute("Date")[0] );
のエラーがでました。
どうも取り出す以前に配列としてセッションに割り当てられていないみたいです。
セッションに配列を割り当てるやり方はBeanで
private String[] Date = null;
を宣言してこの中に値を格納し、同じくBeanの
public String[] getDATE() {return Date;}
のメソッドを使って、サーブレットで
session.setAttribute("Date", my_bean.getDATE());
としてセッションに配列を割り当てたつもりだったのですがだめみたいです。もしよろしければどのようにプログラムを修正すればよいか教えてください。

補足日時:2002/07/23 15:48
    • good
    • 0

配列型にキャストしてから、各要素にアクセスします。



String[] array = (String[])session.getAttribute("Date");
System.out.println(array[0]);
    • good
    • 1
この回答へのお礼

うまくいきました。
初歩的な質問に答えてくださってありがとうございました。

お礼日時:2002/07/24 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています