JS是不能读取Session中的值的 。
session是服务器对象,javascript是客户端脚本,你能做的 *** 作就是把这个值用<%=%>输出到页面的javascript中参与运算,而无法直接用js调用的。
方法:
做一个AJAX来请求服务器, 返回session中的值 。
当然也可以在JSP中使用<%=%>这种东西来获取session中的值,例如:
<script language="JavaScript">
var myName="<%=sessiongetAttribute("userName")%>";alert(myName);
</script>
扩展资料:
关于上述session中是键值对:
EL
sessionsetAttribute("age","123");
${ sessionScopeage} 在页面上显示的就是123了
(此处空一行)
sessionScope指的是session的范围,类似还有requestScope,pageScope,contextScope
然后后面的age表示的是set属性时的key值
>
用关联做,一般DWR的ScriptSessionID是该条DWR请求成功时由服务端反馈给客户端的,在TREE视图中查看每个response,找到第一个生成ScriptSessionID的请求,进行关联。如果ScriptSessionID有多个值,就需要对每个值第一次生成的请求都进行关联。
你应该这样 在登陆成功后
//将用户id和页面脚本session绑定
thissetScriptSessionFlag(usergetUserid());
然后
//获得DWR上下文
ServletContext sc = requestgetSession()getServletContext();
ServerContext sctx = ServerContextFactoryget(sc);
//获得当前浏览 indexjsp 页面的所有脚本session
Collection sessions = sctxgetScriptSessionsByPage("/indexjsp");
这样dwr就和你的聊天室绑定了,单纯的刷新页面session是不会变得,还有做聊天室的话,其实最大的服务器负载还是在数据库 *** 作,你应该设计一种机制,减少读写数据库的次数,比如缓存,比如实体对象存储后一并提交等等。
以上就是关于在jsp中使用js怎样才能获取session的值全部的内容,包括:在jsp中使用js怎样才能获取session的值、关于HttpSession更新的问题..!、loadrunner怎么取得DWR的engine.js中的scriptsessionid等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)