日期:2014-05-20  浏览次数:20665 次

点击链接判断
现在有2个页面,index.jsp是首页面,我点击这个页面的某个链接。跳转到另外个页面,那个页面首先先判断你有没有登录,如果你没有登录,给出提示,并返回index.jsp页面?
现在我有2个问题:
1,假如说我没有登录,当我点击某个链接时,它就会弹出对话框,并返回index.jsp页面,但弹出对话框的同时显示的是空白页面?有没有办法去掉这个空白页面!!!
2,返回时它又刷新了index.jsp页面,我觉得没这个必要,影响速度,有没有办法不刷新,直接返回index.jsp页面(链接也在index.jsp页面中)!
String userName =(String)session.getAttribute("username");
if(userName==""||userName==null){
out.println("<script language='javascript'>alert('请您先登录!!!');top.location.href='default.jsp';</script>"); 
我是这么实现的,改怎么改???

------解决方案--------------------
加个 return false; 试试.
------解决方案--------------------
有AJAX实现看看

弹出对话框的同时显示的是空白页面确实很讨厌
------解决方案--------------------
同意楼上 Ajax

但一般情况可以 window.histroy.go(-1);
out.println(" 
<script language= 'javascript ' >alert( '请您先登录!!! ');window.histroy.go(-1); '; 
</script >");


------解决方案--------------------
关注中。。。
------解决方案--------------------
设计问题。
为什么要在首页面点击链接后,判断是否登陆呢?你有见过网站有这样的做法么?

是不是想实现,首页有一些资源,当没有登陆的用户点击后,提示登陆;若登陆了,则转向该资源页面?

这个在请求该资源时,加一个简单的判断就行了。
实在没有必要像你那样实现。
------解决方案--------------------
lz的意思大概是说当用户请求资源的时候作权限校验,就像csdn下载频道一样的,如果没有登陆的话,点击了下载按钮就会弹出窗口,然后转到登陆页面,也许是想做成这种效果。那么不如在来到这个页面的时候就获得这个用户有没有登陆信息,当用户点击按钮就做一个js校验,如果有登录信息,就正常使用,否则弹出窗口,然后跳转。这样就没空白页面的问题了。如果是首页的话,那就没有跳转的必要了,直接返回false不提交这个请求就完了。