• ベストアンサー

javascriptでセッションを取得

javaのsession.setAttribute()でセットした値をjavascriptで取得することは可能なのでしょうか? 可能であれば、手法を教えていただければと思います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

セッションIDの保存はcookieかURLに連結する方法しか有りませんから、 JavaScriptでdocument.cookieや<a href="">を解析するなどしてセッションIDを取得することは可能だと思います。 セッションIDとセッションの値・内容との関連づけはサーバーで行われていますから、 その値を取得するにはAjaxなどで読み込むとかしないと無理だと思います。

shaka001
質問者

お礼

回答ありがとうございます。 cookieを使用する方法で、もう一度調べてみます。

その他の回答 (1)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

フレームワークやライブラリによって出来るものもあるのかもしれませんが、 基本的にはJavaScriptで直接取得することは出来ません。 ですが、扱いたい値が文字列であらわすことが可能で、クライアント側がJSPなどであれば スクリプトレットや式などで参照するか、formのhiddenを通して取得することは難しくないです。 たとえば、 <% String str = (String) session.getAttribute("hoge"); %> <script type="text/javascript"> alert('<%= str %>'); //alert('<%= (String) session.getAttribute("hoge") %>'); でも同じ </script> とか、 <form name="hogeForm"> <input type="hidden" name="hoge" value="<%= (String) session.getAttribute("hoge") %>" > </form> <script type="text/javascript"> alert(document.forms['hogeForm'].elements['hoge'].value); </script> みたいな感じです。

shaka001
質問者

お礼

回答ありがとうございます。 やはり、直接取得するのはむりですか。 別の方法を検討してみます。