to net_lover(孟子E章):
isNull()是什么方法?搞不懂?

解决方案 »

  1.   

    jsp是在服务器端编译运行的,所以如果oCustomer == null成立
    那么response.sendRedirect("/user/login.jsp");将直接重定向到了login.jsp页面。而alert要等到应答送到浏览器端才可解释运行。所以
    alert()就没有了运行的机会,因为服务器已经重定向到了另外的页面。
    可以考虑这样处理:
    <%@ page session="true"%>
    <%@ include file="../user/islogin.jsp" %>islogin.jsp的原代码如下:
    <%@ page import="Customer"%>
    <%
    Customer oCustomer = (Customer)( session.getAttribute( "CUSTOMER" ) ) ;
    if( oCustomer == null )
    { %>
    <script language="javascript">
    alert( "服务器认为您已经离线了,请重新登录系统。" ) ;
    this.location="/user/login.jsp";
    </script>
    <%}%>
      

  2.   

    to: trier()
    你说的方法确实使alert运行了,但我发现alert()是在jsp页面中代码运行完以后才返回login.jsp的,这就是我用sendRedirect的原因,不信你可以试试!
      

  3.   

    JSP的代码是在服务器端运行的,当然是提交请求后,JSP部分就全部执行完了,而Javascript代码是在客户端执行的,一般需要满足一定条件或响应一个事件才会执行。
      

  4.   

    建议如果session超时了,那还是直接转到提示登录的页面吧,别用alert
      

  5.   

    我已经找到解决办法<%@ page import="Customer"%>
    <%
    Customer oCustomer = (Customer)( session.getAttribute( "CUSTOMER" ) ) ;
    if( oCustomer == null )
    { %>
    <script language="javascript">
    alert( "服务器认为您已经离线了,请重新登录系统。" ) ;
    this.location="/user/login.jsp";
    </script>
    <% return;
    }
    %>
    谢谢以上几位参与!