jsp从session中取空值的问题

3 篇文章 0 订阅
2 篇文章 0 订阅

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

<a οnclick="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被转化为了字符串,需要进一步的验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值