js文件中怎么取session的值?

JavaScript023

js文件中怎么取session的值?,第1张

JS不可以读取Session域内的值, Session是会话周期域, 是服务端上同一个客户端一次会话请求的容器。JS是运行在浏览器上的, 无法直接访问session。

如果你想服务端存的值客户端直接访问, 可以考虑用cookies存储,如果非要用session存储可以在页面上用隐藏的input控件存储该值, 然后用js读取,或用Ajax请求获取后台session中的值。

session是服务器对象,javascript是客户端脚本,能做的操作就是把这个值用<%=%>输出到页面的javascript中参与运算,而无法直接用js调用的。

具体的应用一般都是这样:

<script>

  function do(){

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

  //或者用var a="${sessionScope.userName}"

 

}

</script>

此方法在静态页面中不可用,在javascript文件下不可用,用于jsp页面中嵌套的脚本中。

jsp获取action传来的session值问题,有以下几种方法:

比如action中有个session ("sessionid","11111111");

一、用struts标签获取:<s:property value="#session.sessionid"/>;

二、<%=request.getSession.getAttribute("sessionid")>session也是内置对象之一,可以直接用session,比request.getSession方便多了,也可以写成<%=session.getAttribute("sessionid")>;

三、el表达式获取:${sessionScope.sessionid};

如果赋值的是个bean,也是一样的,类似于${sessionScope.bean.beansth}。