日期:2014-05-18  浏览次数:20714 次

请问怎样使运行过javascrpt后下面的程序将不被执行
这是一段验证用户的代码,请问不知为什么当用户不存在的时候总有 "[Microsoft][ODBC   驱动程序管理器]   无效的游标状态 "这样的错误,如果这里把if...else...配套使用,则不会出错.很显然当用户不存在的时候运行到window.top.location= 'index.jsp ',页面跳转以后,这个页的下面程序也是执行的.请问一下想要当用户不存在的时候,运行到window.top.location= 'index.jsp ',这个页的下面程序不被执行,请问一下这个功能怎样实现.谢谢!
(我想把这代码上半部分制作成一个   单独   的jsp文件中,然后在其它页中插入这个文件,以此来验证用户的合法性,所以这个页面不想配套使用if...else...)

<%
String   username=(String)session.getAttribute( "username ");
Connection   con=dbconnection.getConnection();
String   sql= "select   *   from   user   where   username=? ";
PreparedStatement   pstmt   =   con.prepareStatement(sql);
pstmt.setString(1,username);
ResultSet   rs=pstmt.executeQuery();
if(!rs.next()){
out.println( " <script   language= 'javascript '> alert( '请输入用户名! ');window.top.location= 'index.jsp '; </script> ");
}

String   depart=rs.getString(3));
...........
...........

%>


------解决方案--------------------
代码写在页面里啊 强烈建议不要这样做 尤其是数据库操作得 建议看下dao设计模式
if(!rs.next()){
out.println( " <script language= 'javascript '> alert( '请输入用户名! '); <jsp:forward page= 'index.jsp '/> ">
}这样试试~
------解决方案--------------------
都是先执行完服务器的代码,然后才会执行生成的HTML代码的。而楼主的页面跳转是通过Javascript来实现的,当然会先执行完所有的服务器代码,再执行你的javascrip脚本啦。