public void before(Method arg0, Object[] arg1, Object arg2)
throws Throwable {


if(ManageInterceptor.getSession().get("username")==null)
{
HttpServletResponse response=ServletActionContext.getResponse(); 

response.getWriter().write("<script>alert(' 用户名不存在!')</script>");
    response.sendRedirect("MainPage.jsp");
} }
这是个AOP 执行用户登陆信息检查 
现在直接跳转到MainPage.jsp   script 没反映 是不是写错了  还有网上说什么执行了主页变白 
能不能一起解决了

解决方案 »

  1.   

    楼主不知用没用框架,但是既然和Servlet有侵入了,就直接用request设置一个值,在页面判断如果有的时候输出你要的信息不可以吗?
      

  2.   

    不能再
    response.sendRedirect("MainPage.jsp");
      

  3.   


    这个问题我发现了 但是没想明白怎么整 我实际是模拟csdn的功能 要是没登陆就在原页弹出alert 然后跳转
    到登陆页  确实加上了response.sendRedirect("MainPage.jsp");就跳到别的地方了 所以不好使
    那该怎么整才能实现即在原页上alert() 又可以跳转那  一楼的说法是jsp页判断 我用的是AOP 要是每个jsp页都判断 那还用aop干什么 不知道我说的对不对
      

  4.   

    这个我有一点体会,就是它要先执行jsp的代码,然后才会执行js的代码,你只要将跳转的语句也改成js的就好了,将response.sendRedirect("MainPage.jsp");改成response.getWriter().write("<script>location.href='MainPage.jsp'</script>");
      

  5.   

    我就是比较好奇   看别的网页都是没有权限就跳到另一个登陆页 然后把原因说明 比如 :您无权访问
    可能由于以下原因 ..  请先登录
     这个很简单 把我的response.getWriter().write("<script>alert(' 用户名不存在!')</script>");
    去掉就OK了
    csdn的就比较神  一点上就一个alert() 然后跳到登陆页  我就没想明白怎么整的
    大家帮忙想想  
      

  6.   

    大哥 您太有才了 我怎么没想到 真是高手呀 学习了
    还有 能不能再解决以下alert时白屏问题 谢了!!
      

  7.   

    那个白屏是你当前的网页,html网页时由jsp或者servlet服务器编译过来的,你的jsp和servlet没有其他输出一定是空白,所以我也没什么好办法,求教别人吧。我也是新手
      

  8.   

    要是我我就这样做
    request.setaAttributr("XXX""<script>alert(' 用户名不存在!')</script>");
    再在那个页面读出来
      

  9.   

    要是我我就这样做
    request.setAttribute("XXX""<script>alert(' 用户名不存在!')</script>");
    再在那个页面读出来
      

  10.   


    你这样 每个jsp 都得有读它的操作
      

  11.   

    response.getWriter().write("<script type='text/javascript'>alert(' 用户名不存在!');</script>");