jsp页面里面使用了session里存放的变量,只要一段时间不用,session过期了,页面一打开就会出错显示出一堆错误信息 这样给浏览者感觉不好有没有办法让页面在session过期时弹出个对话框提醒用户呢? 或者在session过期导致页面出错时统计转到某个页面,提示session过期?

解决方案 »

  1.   

    报错?不至于吧,用标签最多没值
    我都是在action里处理的jsp也可以啊,你在最上面判断下
      

  2.   

    判断session是否为空
    如果为空,作页面跳转或弹出用户提示alert();
      

  3.   

     这个比较简单,请参考如下代码片段:
    <%
    if(session.getMaxInactiveInterval()>360000) {//设置session的过期时间
       if(true) {
    %>
    <script>
      alert("你超过60分钟没有访问该页面,请重新登录!");
      window.location="../index.jsp";//session过期,给出提示,并跳转到登录页或其他页面
    </script>
    <% 
       }
     }
    %>
      

  4.   


    不好意思,代码有误,重新贴过:
    <% 
    if(session.getMaxInactiveInterval()>360000) {//设置session的过期时间 
      %> 
    <script> 
      alert("你超过60分钟没有访问该页面,请重新登录!"); 
      window.location="../index.jsp";//session过期,给出提示,并跳转到登录页或其他页面 
    </script> 
    <% 

    %> 
      

  5.   

    即是说每一次从session取数据时都要做一次判断 然后自己在代码里面转向?有没有一劳永逸的方法 ? 这样代码里面充满if 判断 不好看啊ps:因为代码里面获取对象后没判断是否为空,所以对该对象进行操作后自然会出现异常界面
      

  6.   

    不知道可不可加一个filter
    然后在filter里写对session的判断。
      

  7.   

    用过滤器吧,在里面检测到session过期就直接转到登录页面去
      

  8.   

    session过期就让客户去登入呗,如果要好看下就加个message bean