当前位置:编程学习 > JAVA >>

我使用的是Java语言,能给个在JSP页面当触发关闭按钮时修改session中对象属性的实例吗?

追问:我做了一个弹出窗口,该弹出窗口在用户登录后进入首页时弹出,在登录后进行其他操作返回首页或直接在首页刷新时不再弹出窗口。用户登录时将用户信息存放在session中了,用户信息中有一个标志位,用于判断用户是否登录了。我现在需要在用户登陆后关闭弹出窗口时修改session中用户信息的这个标志位的值。用Ajax怎么做到?能给个实例吗?
答案:js标签只有onload\onunload\onbeforeunload事件,而没有onclose事件。
不管页面是关闭还是刷新都会执行onunload事件。
如何捕捉到页面关闭呢?
页面加载时只执行onload
页面关闭时只执行onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。
这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,来进行操作。
其他:浏览器监听关闭事件存在三个方法:onload,onunload,beforeunload.

浏览器正常运行时先加载的是beforeunload->onunload->onload 但是麻烦的是如果刷新页面时是执行beforeunload->onunload,如果关闭浏览器的话是执行onunload.如果单单监听onunload的话是无法区别用户是刷新还是关闭窗口的.所以就要用beforeunload来监测了.


这三个函数都无法监听关闭浏览器标签事件. 所以, 要想实现关闭标签时触发关闭事件是无法实现的.

另外,因为web是客户端请求服务器端相应的模式, 所以, 服务器无法知道客户端发生的事情, 虽然通过定时ajax请求服务器的方式实现伪通信, 但是关闭事件还是无法实现. 可以使用点击按钮的触发事件  $("#btnId").click($.post(url,data,function(){}););其中url就是你的调用action,url,data是你要传入的数据,function则为回调函数。你要做的是将用户的名称及密码用json的方法传回,而后台action处理则会验证是否通过,如果通过则将session状态更新,并返回结果。而且首页加载的时候可以判断从session中取对象,这个对象状态对否,不对则弹出登陆框 

上一个:在学习JAVA时,各个框架代表的功能都是什么?最大的问题是怎么配置,书上都没说清楚,感谢各位。
下一个:java程序把excel里面的数据读出来,并且插入到数据表中。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,