现在有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>"); 
我是这么实现的,改怎么改???

解决方案 »

  1.   

    加个 return false; 试试.
      

  2.   

    有AJAX实现看看弹出对话框的同时显示的是空白页面确实很讨厌
      

  3.   

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

  4.   

    AJAX不太会用!就是那个空白页有没有办法去啊?
      

  5.   

    2楼的 return false;不可以啊!
      

  6.   

    index.jsp是首页面,返回的也是index.jsp页面,所以没办法用window.histroy.go(-1); 
      

  7.   

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

  8.   

    那些不是js实现的。一般我们登陆后,会建立一个session会话,同时会将用户名和用户权限保存在这个session。
    如果没有登陆,这些信息都不存在。
    不存在,我们便可以导向提示登陆的页面;否则,则否。具体实现,晚上回复你,现在在上班。
      

  9.   

    谢谢你!你说的session我知道,我现在在用!
    我就是不会把session中的数据(比如说userName)放在JS里面判断!!!
    你先忙!!!