6

サーブレットでセッション変数を設定しており、JavaScript でその変数にアクセスしたいと考えています。

 ps = con.prepareStatement("select * from USERDETAILS where username=? and password=?");
 ps.setString(1, username);
 session.setAttribute("userName", username);

これらをjavascript関数で試しました。しかし、それは機能していませんでした...

var name = ${userName};
var name = '<%= Session["userName"] %>';
4

6 に答える 6

8

あなたが使用できるはずですgetAttribute()

var name = '<%= session.getAttribute("userName") %>';

ただし、これは Java がファイルを実行して埋め込まれた を置き換えることに依存しますが、これは<%= ... %>おそらく別のファイルには当てはまりません.js

于 2013-08-02T05:34:33.743 に答える
2

このコードを使用してセッションにアクセスしてみてください:

var myName= '<%= Session["myName"]%>';
于 2013-08-02T05:33:50.913 に答える
1

セッションが Cookie に完全に保存されていない限り、JavaScript でセッション変数を読み取ることはできません。ページの生成中に変数の内容を JavaScript 変数に格納するか、後で AJAX を使用してフェッチする必要があります。

于 2013-08-02T05:33:26.097 に答える
0

以下のコードで <% vs.

var name = '<%= session.getAttribute("username") %>';

私は同じ問題を抱えていましたが、スクリプトをコード内の間違った場所に配置したことが判明しました。

そのため、コードを配置した場所を確認することをお勧めします。

お役に立てれば

于 2014-12-11T21:18:02.053 に答える
0

デバッガー (javascript デバッガー) に含まれている名前を確認しましたか?
データが正しく割り当てられていることを確認するために、いくつかの html に名前を割り当てようとしましたか?
引用符を削除しようとしましたか?
また、サーバー エンジンがそれを通過し、Session("userName") の実際の値への置換を実行するように、コードはメイン ページにある必要があります。

于 2013-08-02T05:35:28.567 に答える