function checkUser(){
var id = <%=session.getAttribute("user_id")%>;
if(id == "" || id == null){
//session为空时的操作
}else{
//session不空时的操作
}
}
*以上的程序,在session为空时时没错的(var id = null;null是关键字),可是想想当session有值呢,比如“aaa”,则得到var id = aaa的语句,这样的语句显然是不对的……js出错!
所以应当做修改如下: var id = "<%=session.getAttribute("user_id")%>";(加了引号)
if(id == "" || id == null || id == "null"){
}
个人分析:
1、<%=session.getAttribute("user_id")%>中的语句其实并不是JavaScript中的语句,是jsp中的scriplet,也就是说,<%=session.getAttribute("user_id")%>的结果其实在服务器在向客户端发送html时已经确定了,并不是在调用JavaScript方法时才赋的值。
在没有用上面的方法之前,还稀奇的想到过,先将session的值存放在一个hidden域中,然后可以用getElementById取得hidden域的值,即是session的值。