- PR -

jsp内でのsessionの情報取得と使い方について・・・

1
投稿者投稿内容
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-02-04 14:27
setされたsession情報をgetし、変数にいれ表示する際、エラーになってしまうのですが、この場合、何か宣言など必要なのでしょうか?
session情報の使い方を調べてもなかなか見つからないので、情報のホームページでもいいので教えていただけるとうれしいです。よろしく御願いいたします。

//他ページでgetAttributeされたsession情報を取得し変数に格納
String wkLoginID=(String)session.getAttribute("LoginID")
//テキストボックスに表示
<input type="text" name="loginid" value="<%=wkLoginID%>">

エラーは「シンボルを解決できません。」: out.print(wkLoginID);のwkLoginIDの部分で出ています。


TomScissors
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 79
投稿日時: 2004-02-04 14:44
セッションの使い方は特に問題無いみたいですね。

//他ページでgetAttributeされたsession情報を取得し変数に格納
String wkLoginID=(String)session.getAttribute("LoginID")
";"が抜けてるだけかも?
//テキストボックスに表示
<input type="text" name="loginid" value="<%=wkLoginID%>">

こういうときは、問題の特定のために
String wkLoginID="test";
(セッションを使わない)
とするとどうなるか、
<input type="text" name="loginid" value="<%=session.getAttribute("LoginID")%>">
(直に出力してみる)
とするとどうなるか、といった風に確認してみると良いかもしれません。
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-02-04 14:46
自己レスです。
sessionからのsetと変数宣言を分けて記述したらうまくいきました。
お騒がせしましてすいませんでした。
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-02-04 14:50

Tomscissorsさんありがとうございました。
そういうデバックの方法もあるんですね。次にはまったときには使いたいと思います。
先ほども投稿したのですが、sessionの取得と変数の格納を一気にやらずに、

String wkLoginID="";
wkLoginID=(String)session.getAttribute("LoginID");
と分けて記述することで、大丈夫でした。
1時間ぐらいはまっていたので、他の方に聞こうと思い、投稿しましたが、、、
投稿したらすぐ見つけることができました。
お騒がせしてすいませんでした。
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2004-02-05 11:15
それって返って不思議なような。

もしかして変数のスコープの問題ですかね?

コード:
if (***) {
  String wkLoginID=(String)session.getAttribute("LoginID");
}
<input type="text" name="loginid" value="<%=wkLoginID%>">



上記だとスコープはずれてシンボル解釈できないと思います。
それを修正したってことは

コード:
String wkLoginID = "";
if (***) {
  wkLoginID=(String)session.getAttribute("LoginID");
}
<input type="text" name="loginid" value="<%=wkLoginID%>">



こうしたってことですかね?
キャサリン
会議室デビュー日: 2004/01/19
投稿数: 18
投稿日時: 2004-02-05 11:26
こちらにも返答いただきありがとうございます。
ぽち様の記述された下のほうのソースでif文がない感じになります。
やはりおかしいのでしょうか?
まだ始めたばかりで、わからず、ご迷惑をおかけします。
ご教授いただければうれしいです。

(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2004-02-05 14:40
引用:

キャサリンさんの書き込み (2004-02-05 11:26) より:
こちらにも返答いただきありがとうございます。
ぽち様の記述された下のほうのソースでif文がない感じになります。
やはりおかしいのでしょうか?
まだ始めたばかりで、わからず、ご迷惑をおかけします。
ご教授いただければうれしいです。





String wkLoginID="";
wkLoginID=(String)session.getAttribute("LoginID");



String wkLoginID=(String)session.getAttribute("LoginID");



コード的には全く同じですよ。

「シンボルが解釈できない」エラーが出ていることから
単にwkLoginIDという変数を認識できていないだけだと思います。

コードを分けてできただけでは何も理解できず
もったいないので、原因がつかめればよいのですが。

もっと広い範囲でのjspのソースを見せて頂ければ
わかるかもしれませんね。
1

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