如何从javascript设置/获取会话值

时间:2014-05-23 17:10:31

标签: javascript session

我想在javascript代码中访问会话,以便设置并获取一些值: 我尝试使用此代码:

function getsessionvalue() {

    var value= '<%= session["role"].ToString() %>';
    alert(value);
    //var role1= '<%= session["role"] %>'; **the same mistake**
    //alert(role1);     
}

但我有两个javascript错误:

The type of the expression must be an array type but it resolved to 
Type mismatch: cannot convert from String to int

3 个答案:

答案 0 :(得分:3)

您无法在客户端访问服务器会话。 但是如果你想根据服务器会话值在客户端做一些更改。 我会给你一个小小的想法。它可能适合你。

(抱歉,我只知道java不是php等),

只是在JSP脚本中 - 让我们检查会话,创建一些带有会话值的隐藏html元素。像这样

<% String role=request.getSession().getAttribute("role").toString();%>
<input type="hidden" id="role" value=<%= role ;%> />

然后,在javascript中只需通过ID从html输入元素获取角色 像这样。

var role=document.getElementById("role");

你在这里做什么。

如果你想在javascript中设置会话角色,它可能对你有帮助

    <script>
function nameYourFunction()
{
    var role="";

    if(your condition)
    <% request.getSession().setAttribute("your variable","your values"); %>
}

</script> 
希望这有效。 并在需要时调用您的函数。

答案 1 :(得分:1)

通过客户端javascript我们也可以访问会话变量。以下是将会话变量分配给javascript变量的简单代码。

%.$(OBJ_EXT)          :   $(CXX_SRCS)
%.$(CXX_OBJ_EXT)      :   $(CXX_SRCS)

此代码工作正常

答案 2 :(得分:0)

您可以在jsp中的隐藏字段中获取会话值。

<s:hidden id="login_orgId" value="%{#session.org_id}"/>