请问怎样使运行过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脚本啦。