在jsp中使用js怎样才能获取session的值

<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=utf-8"%><%St... <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'js_session.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function show(){
alert("显示session值");
//document.getElementById("xianshi").value=<%=(String)session.getAttribute("myName")%>
var s=<%=session.getAttribute("myName")%>;
alert("1");
alert(s);
alert("2");
}
</script>
</head>

<body>

js获取session值<br>
<%session.setAttribute("myName","刘德华");%>
<input type="text" name="xianshi"><input type="button" value="text" onclick="show()">
</body>
</html>
展开
 我来答
大野瘦子
高粉答主

推荐于2019-08-15 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:32.4万
展开全部

JS是不能读取Session中的值的 。

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

方法:

做一个AJAX来请求服务器, 返回session中的值 。

当然也可以在JSP中使用<%=%>这种东西来获取session中的值,例如:

<script language="JavaScript">

     var myName="<%=session.getAttribute("userName")%>";

alert(myName);

</script>

扩展资料:

关于上述session中是键值对:

EL

session.setAttribute("age","123");  

${ sessionScope.age}  在页面上显示的就是123了  

(此处空一行)

sessionScope指的是session的范围,类似还有requestScope,pageScope,contextScope  

然后后面的age表示的是set属性时的key值  

小傻

推荐于2017-09-23 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

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

session设置:
session.setAttribute("username",username);
session.setAttribute("password",password);
session获取:
username=session.getAttribute("username");
password=session.getAttribute("password");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rayronk
2009-03-07 · 超过22用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:81.8万
展开全部
=。=js中不能包含java代码片。你可以通过表单提交来做,至于一个页面完成,等高手。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天街夜雨
2009-03-08 · TA获得超过641个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:654万
展开全部
你可以使用DWR框架.
它可以使JS能调用java对象的方法.
要不你就用java生成js
例如:
<script>
var str = ${sessionScope.username};
if(str ==""){
alert("session 不存在!");
}else{
alert(str);
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-08
展开全部
自己解决了 是语法错误。
把var s=<%=session.getAttribute("myName")%>;
改成var s="<%=session.getAttribute("myName")%>";
就好用了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式