我想在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
答案 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}"/>