您的位置:首页 > Web前端 > JavaScript

jsp从session中取空值的问题

2017-11-25 23:49 246 查看
网页项目中,在session里设置了一个属性用于记录用户的登录状态,当未登录时为空,登录后为设置好的字符串,然后通过给按钮设置js,点击按钮时,若未登录,弹出提示框,若已登录则跳转相应界面。该按钮和js代码如下:

<a onclick="checkLoginFromStartButton('<%=logined%>')" id="download-button" class="btn-large waves-effect waves-light teal lighten-1">Get Started</a>

function checkLoginFromStartButton(logined) {
if (logined == null || logined == undefined || logined == '') {
Materialize.toast("Please login first !", 2000);
} else {
window.location.href="/MyProject/pages/Manage.jsp";
}
}


但是在测试过程中发现,无论是已登录还是未登录状态,都会执行else代码块。通过打断点检查,发现在登录时,session中存储的值为指定的字符串,进入了else代码块;但是在未登录时,session中的参数值为null,却同样进入了else代码块。最终发现,通过session.getAttribute(“...”)获取的参数值并强转为String后,原本不存在的属性(null)变为了'null'字符串,也就是说logined值为‘null’,有可能是两种原因,一可能是session.getAttribute(“...”)获取的Object在jsp中被强转为了String之后变为‘null’字符串,二可能是因为在向js中传递时null被转化为了字符串,需要进一步的验证。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  session jsp javascript