action转页面时传个参数 用参数判断是否执行load()

解决方案 »

  1.   

    覆盖JspPage接口的jspInit方法 来写这个函数 就不能死循环了
      

  2.   

    你参照这个去写http://www.javajsp.net/java/JavaFAQ/JavaExpression/200607/316.html
    <%@  page  contentType="text/html;  charset=GB2312"    
               import="java.sql.*"%>  
    <%!  
    Connection  con  =  null;  
    Statement  stmt  =  null;  
    ResultSet  rs  =  null;  
     
    public  void  jspInit()  
    {  
               try  
               {  
                           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
                           //载入驱动程式类别  
     
                           con  =  DriverManager.getConnection("jdbc:odbc:BookDB1");  
                           //建立数据库连线  
     
                           stmt  =  con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,  
                                                                         ResultSet.CONCUR_READ_ONLY);  
                           //建立Statement物件,  并设定记录指标类型为可前後移动  
               }  
               catch(Exception  ex)  
               {  
                           System.out.println(ex.toString());  
               }  
    }  
     
    public  void  jspDestroy()  
    {  
               try  
               {  
                           stmt.close();  //关闭Statement物件  
                           con.close();    //关闭Connection物件  
                           rs.close();  //关闭ResultSet物件  
               }  
               catch(Exception  ex)  
               {  
                           System.out.println(ex.toString());  
               }  
    }  
    %>  
    <HTML>  
    <HEAD>  
    <TITLE>利用SQL语句删除数据</TITLE>  
    </HEAD>  
    <BODY>  
    <CENTER>  
    <FONT  SIZE  =  5  COLOR  =  blue>利用SQL语句删除数据</FONT>  
    </CENTER>  
    <HR>  
    <%  
    String  BID  =  request.getParameter("tbxBookID");  
    //取得tbxBookID栏位传出的数据  
     
    //判断是否可取得表单中指令按钮的传出值  
    //若未取得则建立表单供使用者输入查询数据  
    //若已取得数据,  则进行数据的删除  
    if(BID  ==  null)  
    {  
               rs  =  stmt.executeQuery("SELECT  *  FROM  BookDel");  
               //开启ResultSet物件  
               %>  
               <TABLE  bgcolor=DodgerBlue>  
               <TR  bgcolor=DeepSkyBlue>              
               <TD><B>书籍编号</B></TD><TD><B>书    名</B></TD>              
               </TR>              
               <%  
               //利用while回圈配合next方法将数据表中的记录列出  
               while(rs.next())    
               {  
                           %>  
                           <TR>                          
                           <TD  bgcolor  =  LightGoldenrodYellow><B>  
                           <%=  rs.getString("BookID")  %></B></TD>  
                           <TD  bgcolor  =  LightGoldenrodYellow><B>  
                           <%=  rs.getString("Title")  %></B></TD>  
                           </TR>  
                           <%  
               }  
               %>  
               </TABLE><P></P>              
               <P><FONT  SIZE  =  4  COLOR  =  red>请输入欲进行数据删除的书号  
               </FONT></P>  
               <FORM  action="SQLDel.jsp"  method=POST  name=form2>                          
                           <INPUT  type="text"  name=tbxBookID>  
                           <INPUT  type="submit"  value="删除"  name=submit1>  
               </FORM>              
    <%  
    }  
    else  
    {  
               String  strSQL  =  "SELECT  *  FROM  BookDel  WHERE  "  +    
                                       "BookID  =  '"  +  BID  +  "'";  
               //建立查询书籍数据的SQL字串  
     
               rs  =  stmt.executeQuery(strSQL);    //建立ResultSet物件  
     
               //判断是否执行next方法即传出false  
               //是则代表找不到符合条件的记录  
               if(!rs.next())  
               {  
                           %>  
                           <CENTER>  
                           <P>找不到书号为  
                           <FONT  SIZE  =  4  COLOR  =  red>  
                           <%=  BID  %>  
                           </FONT>的书籍,  无法进行数据的删除<P>  
                           <%  
               }  
               else  
               {  
                           String  strDel  =  "DELETE  *  FROM  BookDel  WHERE  "  +    
                                                   "BookID  =  '"  +  BID  +  "'";  
                           //删除数据的SQL语句  
                 
                           stmt.executeUpdate(strDel);  //执行删除动作                          
     
                           rs  =  stmt.executeQuery("SELECT  *  FROM  BookUpd");    
                           //重新开启记录集物件取得BookDel数据表中的数据  
                           %>  
                           <TABLE  bgcolor=DodgerBlue>  
                           <TR  bgcolor=SkyBlue>              
                           <TD><B>书籍编号</B></TD><TD><B>书    名</B></TD>  
                           <TD><B>作    者</B></TD>              
                           </TR>              
                           <%  
                           //利用while回圈配合next方法将数据表中的记录列出  
                           while(rs.next())  
                           {    
                                       %>  
                                       <TR>                          
                                       <TD  bgcolor  =  LightGoldenrodYellow><B>  
                                       <%=  rs.getString("BookID")  %></B></TD>  
                                       <TD  bgcolor  =  LightGoldenrodYellow><B>  
                                       <%=  rs.getString("Title")  %></B></TD>  
                                       <TD  bgcolor  =  LightGoldenrodYellow><B>  
                                       <%=  rs.getString("Author")  %></B></TD>                                      
                                       </TR>  
                                       <%  
                           }  
                           %>              
                           </TABLE>                          
                           <%  
               }  
               %>  
               <P><A  HREF  =  SQLDel.jsp>还要删除</A></P></CENTER>  
               <%  
    }  
    %>  
    </BODY>  
    </HTML>