
session是服务器对象,javascript是客户端脚本,能做的 *** 作就是把这个值用<%=%>输出到页面的javascript中参与运算,而无法直接用js调用的。
具体的应用一般都是这样:
<script>
function do(){
var a='<%=sessiongetAttribute("userName")%>';
//或者用var a="${sessionScopeuserName}"
}
</script>
此方法在静态页面中不可用,在javascript文件下不可用,用于jsp页面中嵌套的脚本中。
1、首先解释一下你的疑问,为何取不到最新的session值。\x0d\javascript是无法获取服务器session中的值的。js只是脚本语言,session是jsp里的对象。\x0d\使用el表达式获取值,是在编译jsp的时候完成的。编译完成后,就发送到浏览器了。浏览器执行的html页面中的值是固定的。\x0d\function readSession(){\x0d\ var data = "123"; //编译jsp的时候,el表达式获取值${sessionScopemacData}已经被替换成具体的值了\x0d\\x0d\}\x0d\所以,以后无论多少次获取data,都是123。你可以在浏览器中右键查看生成的html页面,就明白了。\x0d\2、如何解决这个问题。\x0d\\x0d\可以将macData的值,已json或xml或纯文本的方式发送给前台。使用ajax的方式获取。\x0d\这里假设你使用了json的方式, responsegetWriter()print("{ macData: 具体的值 } ");\x0d\\x0d\jquery代码:\x0d\function loadData(){\x0d\ $get("请求url",function(result){\x0d\ $("#content")html(resultmacData);\x0d\\x0d\ });\x0d\\x0d\}
在jsp中使用js中的设置属性,进而获得session保存的属性值,实例如下:
session设置:
sessionsetAttribute("username",username);
sessionsetAttribute("password",password);
session获取:
username=sessiongetAttribute("username");
password=sessiongetAttribute("password");
SESSION是指保存在服务器的会话,而JS是运行在客户端的,如果你想取得SESSION里面的值,需要使用动态语言在页面上输出内容并赋给JS变量,或使用接口来获取。如:
//
var
session_value
=
'<%=sessiongetAttribute("SESSION_KEY")%>';
不知道jquery动态刷新session是什么意思,session是服务端生成的,保存在服务端,客户端与session对应的是cookie。前端怎么可能直接去判断session的变化。
以上就是关于javascript 如何获取session值全部的内容,包括:javascript 如何获取session值、jsp中如何获得更改后的session、如何在js页面获取session等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)