0

私のアプリケーションの 1 つで、セッションに 1 つの変数 (文字列) を設定しました。詳細コードは、私のサーブレットの 1 つの下にあります。

HttpSession session = request.getSession();
String val1 = "http://abc.gmail.com/pp/hello.do?supplierId=894";
session.setAttribute("val1", val1);

以下のコードを使用して、1 つの JSP でセッション属性の値を取得しました。

<%
String val1 = (String) session.getAttribute("val1");
System.out.println("The value is-->>"+val1);
%>

しかし、「http://abc.gmail.com/pp/hello.do?supplierId」しか印刷されていません

このエラーの修正を手伝ってください。o/p が「http://abc.gmail.com/pp/hello.do?supplierId=894」になることを期待しています

ありがとう、ソウラフ

4

2 に答える 2

1

これには 2 つの理由が考えられます。

  1. コードの他の場所で、値が上書きされます
  2. 例を投稿したときにコードを削除しすぎました。

どれがどれであるかを調べるには、次のことができます。

  1. System.out.println()直後に追加して、session.setAttribute()実際にセッションに入れられる値を確認します。
  2. 各リクエストの前後に値を出力するフィルターを作成します。これにより、変更された場所を絞り込むことができます。
  3. の実装にブレークポイントを設定しますsession.setAttribute()。数千の属性が設定されている場合、実行できない場合があります。
于 2012-09-11T13:30:03.733 に答える
0

= に問題があると思います

フォローしてみてください

  1. base64 で文字列を変換し、セッションに入れます
  2. セッションから文字列を取得し、base64 を通常の形式に変換します

私は働くべきです

于 2012-09-11T13:21:56.003 に答える