【问题标题】:Read session variable in javascript?在javascript中读取会话变量?
【发布时间】:2013-08-03 06:43:15
【问题描述】:

我在 servlet 中设置会话变量,并希望在 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"] %>';

【问题讨论】:

标签: java javascript session variables


【解决方案1】:

看来你应该可以使用getAttribute()

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

不过,这取决于通过文件运行的 Java 以替换嵌入的 &lt;%= ... %&gt;,而在单独的 .js 文件中可能不会出现这种情况。

【讨论】:

  • 我正在使用单独的 .js 文件,当我使用 var name = '&lt;%= session.getAttribute("userName") %&gt;'; 时,我检查了 var name 的值,它是 &lt;%= session.getAttribute("userName") %&gt; 而不是它的值!怎么了?
  • @pouria 问题真的不应该在 cmets 中发布。 stackoverflow.com/questions/ask 并链接到此问答,如果您想引用它。但是,简而言之,JSP 不会解析文件来执行任何替换。它被视为静态的,就像任何图像一样,并按原样发送到浏览器。
  • 感谢提醒!你介意检查this
【解决方案2】:

尝试使用此代码访问会话:

var myName= '<%= Session["myName"]%>';

【讨论】:

  • 虽然很旧,但这是我要找的,我在来这里之前浪费了 2 个小时。非常感谢。
【解决方案3】:

除非您的会话完全存储在 cookie 中,否则您无法在 JavaScript 中读取会话变量。您应该在页面生成期间将变量内容存储在 JavaScript 变量中,或者稍后使用 AJAX 获取它。

【讨论】:

    【解决方案4】:

    您是否检查了调试器(javascript 调试器)中包含的名称?
    您是否尝试将名称分配给某些 html,以确保正确分配数据?
    您是否尝试删除引号?
    您的代码也应该在主页上,以便服务器引擎通过它并将 Session("userName") 替换为实际值。

    【讨论】:

      【解决方案5】:

      对于那些在下面的代码中遇到关于 等字符的错误的人

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

      我遇到了同样的问题,但结果是我将脚本放在代码中的错误位置。

      所以你最好检查一下你把代码放在哪里。

      希望对你有帮助

      【讨论】:

        【解决方案6】:

        试试这个 -> {sessionScope.username}

        默认情况下,JSP 页面可以使用请求、会话和应用程序对象。因此,您可以使用 EL 语法访问 then。

        下表显示了 EL 可用的 IMPLICIT 对象。

               Implicit object            Description
        1.     pageScope        Scoped variables from page scope
        2.     requestScope     Scoped variables from request scope
        3.     sessionScope     Scoped variables from session scope
        4.     applicationScope Scoped variables from application scope
        5.     param            Request parameters as strings
        6.     paramValues      Request parameters as collections of strings
        7.     header           HTTP request headers as strings
        8.     headerValues     HTTP request headers as collections of strings
        9.     initParam        Context-initialization parameters
        10.    cookie           Cookie values
        11.    pageContext      The JSP PageContext object for the current page
        

        参考:Are session and sessionScope the same in JSP EL?

        【讨论】:

          猜你喜欢
          • 2015-12-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-28
          • 2017-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多