在纯js文件中用EL表达式获取jsp内置session对象的值

在纯js文件中用EL表达式获取jsp内置session对象的值,第1张

在纯js文件中,是不能直接用 EL表达式获取jsp内置session对象的值的

你需要,先在jsp中,写上js的临时变量,

<script type="text/javascript">

        var name="{name}";

</script>

然后在纯 js中 引用这个变量, 注意纯js文件的引用,应该在上面定义的js 的下面

<script type="text/javascript" src="xxxjs">

js是没有办法获取SESSION的, 因为它只是客户端的脚本,SESSION是服务端的如果想要获取SESSION 而不刷新页面就需要AJAX, 用JS 使用AJAX 获取服务端的SESSION

在jsp中使用js中的设置属性,进而获得session保存的属性值,实例如下:

session设置:

sessionsetAttribute("username",username);

sessionsetAttribute("password",password);

session获取:

username=sessiongetAttribute("username");

password=sessiongetAttribute("password");

我一般是在jsp中写个隐藏input标签,value设置为session的值,比如:

<input type="hidden" id="name" value="${name}"/>

js再通过id获取input的值即可

<%@page import="javautilEnumeration"%>

<%

for (Enumeration<> e = sessiongetAttributeNames(); ehasMoreElements();) {

String key = (String) enextElement();

outprintln(key + "=" + sessiongetAttribute(key) + "<br>");

}

%>

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\}

很不幸的告诉你,js不能 *** 作session,但是你可以现在jsp中把session中的值提取出来,

<%String str = sessiongetParameter("xxxx")%>

然后再js中用var a=<%=str%>获取,再 判段

以上就是关于在纯js文件中用EL表达式获取jsp内置session对象的值全部的内容,包括:在纯js文件中用EL表达式获取jsp内置session对象的值、js怎样获取session值 在登录页面中、javascript中能不能用session啊,怎样取值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9496338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存