IBM教程的一个分页例子:
http://www-900.ibm.com/developerWorks/cn/java/l-jspdisp/index.shtml

解决方案 »

  1.   

    <%@page import="java.sql.*"%>
    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <%@page import="BeanLink.DBBean"%>
    <jsp:useBean id="TBean" class="BeanLink.DBBean" scope="session"/>
    <html>
      <head>
        <title>&raquo;á&Ocirc;±&sup1;&Uuml;&Agrave;í</title>
      </head>
      <body>
        <center><p><h4>&raquo;á&Ocirc;±&sup1;&Uuml;&Agrave;í</h4></p>
        <%
          String sdriver="sun.jdbc.odbc.JdbcOdbcDriver";
          String sconn="jdbc:odbc:stu";
          String suser="jsp";
          String spass="cg";
          TBean.Initialization(sdriver,sconn,suser,spass);
          //&Ouml;&cedil;&para;¨&ETH;&ETH;&Ecirc;&yacute;
          int pageLine=10;
          int totalRec=0;
          int totalSub=0;
          int intPage=1;
          int i;
          if (request.getParameter("page")!=null)
          intPage=Integer.parseInt(request.getParameter("page"));
          try
          {
            ResultSet countrs=null;
            //&Egrave;&iexcl;&micro;&Atilde;×&Uuml;&frac14;&Ccedil;&Acirc;&frac14;&Ecirc;&yacute;
            countrs=TBean.executeQuery("select count(*) as cnt from usertable where name<>'admin'");
            if (countrs.next())
              totalRec=countrs.getInt("cnt");
            countrs.close();
          }
          catch(Exception e)
          {
            e.printStackTrace();
          }
          //&Egrave;&iexcl;&micro;&Atilde;×&Uuml;&Ograve;&sup3;&Ecirc;&yacute;
          int intPageCount=0;
          intPageCount = (totalRec+pageLine-1) / pageLine;
          ResultSet RS = TBean.executeQuery("SELECT * FROM usertable where name<>'admin'");
          String name;
          String password="";
          String email="";
          String www="";
          String oicq="";
        %>
        <table border='1' cellspacing='0' width='500'>
        <tr align='center'>
          <td width='5%'>&raquo;á&Ocirc;±&Atilde;&ucirc;</td>
          <td width='4%' >&Atilde;&Uuml;&Acirc;&euml;</td>
          <td width='10%' >&Oacute;&Ecirc;&Iuml;&auml;</td>
          <td width='12%' >&Ouml;÷&Ograve;&sup3;</td>
          <td width='4%' >oicq</td>
          <td width='4%' >&Eacute;&frac34;&sup3;&yacute;</td>
        </tr>
        <%
          if (intPageCount>0)
          {
            for(i=1;i<=(intPage-1)*pageLine;i++)
              RS.next();
            for(i=1;i<=pageLine;i++)
            {
              if (RS.next())
              {
                name=RS.getString("name");
                password=RS.getString("password");
                email=RS.getString("email");
                www=RS.getString("www");
                oicq=RS.getString("oicq");
                if(www==null)
                  www="*";
                if(oicq==null)
                  oicq="*";
        %>
        <tr>
          <td width='5%' align='center'><%=name%></td>
          <td width='4%' align='center'><%=password%></td>
          <td width='10%' align='center'><%=email%></td>
          <td width='12%' align='center'><%=www%></td>
          <td width='4%' align='center'><%=oicq%></td>
          <td width='4%' align='center'><a href="delete.jsp?name=<%=name%>">&Eacute;&frac34;&sup3;&yacute;</a></td>
        </tr>
        <%
              }
            }
            RS.close();
          }
        %>
        <!--&Ograve;&Ocirc;&Iuml;&Acirc;&Oacute;&Atilde;&Oacute;&Uacute;·&Ouml;&Ograve;&sup3;&Iuml;&Ocirc;&Ecirc;&frac34; -->
        <%
          out.print("<tr>");  
          if (intPageCount*pageLine<totalRec) 
            intPageCount++;
          if (intPage>intPageCount )
            intPage=intPageCount;
          if (intPage < 1 )
            intPage=1;
          out.print("<form method='POST'  name=fPageNum  action='admin.jsp'>");
          out.print("<p align='left'>&gt;&gt;·&Ouml;&Ograve;&sup3;&nbsp;");  
          if (intPage<2)
            out.print("<font color='999966'>&Ecirc;×&Ograve;&sup3; &Eacute;&Iuml;&Ograve;&raquo;&Ograve;&sup3;</font>&nbsp;");
          else
          {   
            out.print("<a href='admin.jsp?page=1'>&Ecirc;×&Ograve;&sup3;</a>&nbsp;");   
            out.print("<a href='admin.jsp?page=" + (intPage-1) + "'>&Eacute;&Iuml;&Ograve;&raquo;&Ograve;&sup3;</a>&nbsp;"   );
          }    
          if( intPage-intPageCount>=0 )
            out.print("<font color='999966'>&Iuml;&Acirc;&Ograve;&raquo;&Ograve;&sup3; &Icirc;&sup2;&Ograve;&sup3;</font>"   );
          else
          {  
            out.print("<a href='admin.jsp?page=" + (intPage+1)+ "'>&Iuml;&Acirc;&Ograve;&raquo;&Ograve;&sup3;</a> <a href='admin.jsp?page=" + intPageCount + "'>&Icirc;&sup2;&Ograve;&sup3;</a>");
          } 
          out.print("&nbsp;&Ograve;&sup3;&acute;&Icirc;&pound;&ordm;<strong><font color=red>"+intPage+"</font>/"+intPageCount+"</strong>&Ograve;&sup3; "   );
          out.print("&nbsp;&sup1;&sup2;<b>"+totalRec+"</b>&Igrave;&otilde;&frac14;&Ccedil;&Acirc;&frac14; <b>"+pageLine+"</b>&Igrave;&otilde;/&Ograve;&sup3; "   );
          out.print(" ×&ordf;&micro;&frac12;&micro;&Uacute;<input type='text' name='page' size=2 maxlength=10 class=smallInput value="+intPage+">");   
          out.print("&Ograve;&sup3;<input class=buttonface type='submit'  value='GO'  name='cndok'></span></p></form>"  ); 
          out.print("</td>");
          out.print("</tr>"); 
        %>
        </table></p>
        <a href="javascript:window.close();">&sup1;&Oslash;±&Otilde;&Iacute;&Euml;&sup3;&ouml;</a>
        <br>
        <br>
        <a href="login.htm">·&micro;&raquo;&Oslash;&micro;&Ccedil;&Acirc;&frac12;&Ograve;&sup3;&Atilde;&aelig;</a>
        </center>
      </body>
    </html>