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

こんいちは。
setAttributeでセットした値をgetAttributeを使用して表示したいのですがうまくいきません。

あとsession.setAttributeとrequest.setAttributeの違いがわかりません。
session はなんとなくわかるのですが、requestがいまひとつわかりません。

どなたか教えていただけないでしょうか?
よろしくお願いいたします。

下記がコーディングの内容です。

test.jsp

<%@ page contentType="text/html;charset=Shift_JIS"
import="java.sql.*, java.util.*" %>
<%

String[] desc={"aaa","bbb","ccc","ddd","eee"};
session.setAttribute("desc",desc);

Vector vect = (Vector)session.getAttribute("dpt");

Iterator itr = vect.iterator();

while(itr.hasNext()) {
String[] temp = (String[])itr.next();

out.println(temp[0]);
out.println(temp[1]);
}
%>
<html>
<body>
t_3 test
</body>
</html>

A 回答 (1件)

String[] desc={"aaa","bbb","ccc","ddd","eee"};


session.setAttribute("desc",desc);

Vector vect = (Vector)session.getAttribute("dpt");

Iterator itr = vect.iterator();


うまくいくわけがないですね。

String[]
型で格納したんだから。
受け取る時も、
String[]
型でキャストしないと無理です。
なぜ
Vectorでキャストするのでしょうか?

それに格納するときの
キー値が
"desc"
になっていて
どうして、
取得する時キー値が
"dpt"
にしているのでしょうか?


requestは
Httpプロトコルでいうところの1つセッション
をあらわすオブジェクトをサーブレットコンテナ
が実装したものです。

session
はブラウザのプロセスに対応する
セッションIDと該当するHttpSession
オブジェクトをサーブレットコンテナ側で
生成して、
一定期間存続させることで、
あたかも、セッションが確立させしているように
Http上でみせかけるための
しくみを提供するものです。

詳細は調べてください。

以上

この回答への補足

Vectorにキャストするのはdescが配列なのでvectorに格納しました。

補足日時:2004/06/11 02:52
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございました。dptの箇所は記述ミスでした。Vectorでキャストするところを変更してやってみたいともいます。

お礼日時:2004/06/11 02:49

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