用一个jsp和一个bean实现<%@ page contentType="text/html; charset=GB2312" import="java.sql.*"%>
<%@page import="infor.InfoServlet1"%>
<%-- lixiang
    *2003-11-13
    *显示干部人员列表模板
 --%>
<STYLE type=text/css>
.main {
FONT-SIZE: 12px
}
.main1 {
FONT-SIZE: 14px
}
.main2 {
FONT-SIZE: 16px
}
.main3 {
FONT-SIZE: 7px
}
.main4 {
FONT-SIZE: 10px
}
A:link {
COLOR: #ffffff; TEXT-DECORATION: none
}
A:visited {
COLOR: #ffffff; TEXT-DECORATION: none
}
A:active {
COLOR: #ff0000; TEXT-DECORATION: none
}
A:hover {
COLOR: #aa0000; TEXT-DECORATION: underline
}
</STYLE><html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<script language="javascript">
function allSel(){
   var size=document.form1.elements.length;
   for(i=0;i<size;i++){
if(document.form1.elements[i].type=="checkbox")
   document.form1.elements[i].checked="ture";
    }
}function cancelSel(){
   var size=document.form1.elements.length;
   for(i=0;i<size;i++){
       if(document.form1.elements[i].type=="checkbox")
          document.form1.elements[i].checked=false;
   }
}
</script>
<script>
function getBh(){
var bh="";
var k=0;
for(var i=0;i<document.form1.elements.length;i++)
{
if(document.form1.elements[i].checked){
bh=bh+(document.form1.elements[i].value+",");
}
}
k=bh.length;
var cbh=bh.substring(0,k-1);
document.op.bh.value=cbh;
document.op.op.value="del";
}
function getIns(){
document.op.op.value="ins";
}function isDel(){
  var isdel;
  isdel=confirm("确识要删除所选记录吗");
  return isdel;
}
</script>
<title>
人员列表模版
</title>
</head>
<jsp:useBean id="list" scope="page" class="comm.pageview" />
<%
   int size=3;//每页显示3条记录
   int j,i,k;
   String pageNo;
   pageNo=request.getParameter("pageNo");
   if(pageNo==null){
pageNo="1";
   }
   j=Integer.parseInt(pageNo);
   int total=list.mtotal(size);
   ResultSet rs=list.viewPage(j,total,size);
%>
<body bgcolor="#ffffff">
<h1 align="center">
人员列表模版
</h1>
<form name="form1">
人员共<%=total%>页,显示第<%=j%>页
<table class=main1 border=1>
<tbody>
<th class=main1>
选择
</th>
<th>
编号
</th>
<th>
姓名
</th>
<th>
出生日期
</th>
<th>
民族
</th>
<th>
政治面貌
</th>
<th>
参加组织日期
</th>
<th>
职务
</th>
<th>
详细资料
</th>
<%
i=0;
k=1;
while(rs.next())//&&(i<size)
{
  i=i+1;
//超过3条退出
  if(i==size+1){
     k=0;
     break;
  }
out.print("<tr>");
out.print("<td> <input type=checkbox value="+rs.getString("bh")+"></td>");
String detailBh=rs.getString("bh");
out.print("<td>");
out.print(rs.getString("bh"));
out.print("</td>");
out.print("<td>"+rs.getString("xm")+"</td>");
out.print("<td>"+rs.getString("chrq")+"</td>");
out.print("<td>"+rs.getString("mz")+"</td>");
out.print("<td>"+rs.getString("zzmm")+"</td>");
out.print("<td>"+rs.getString("cj_zzrq")+"</td>");
out.print("<td>"+rs.getString("rzjg")+"</td>");
out.print("<td><a href='InfoMainFrame.htm?bh="+detailBh+"currentPage="+j+"'><font class=main1 color=red>"+"详细资料"+"</font></a></td>");
out.print("</tr>");
//i++;
}
i=i-k;
rs.close();
%>
<tbody>
</table><table>
<tr>
<td>
<%
if(j>1)
{
%>
<a href="viewlist.jsp?pageNo=1"><font class=main1 color=red>第一页</font></a>
<%
   int upPage=Integer.parseInt(pageNo,10);
   if(upPage>1){
upPage=upPage-1;
   }
String downPage=Integer.toString(upPage);%>
<a href="viewlist.jsp?pageNo=<%=downPage%>"><font class=main1 color=red>上一页</font></a>
<%
}
if(j<total)
{
   int upPage=Integer.parseInt(pageNo,10);
   if(upPage<total)
upPage=upPage+1;
   String downPage=Integer.toString(upPage);
%>
<a href="viewlist.jsp?pageNo=<%=upPage%>"><font class=main1 color=red>下一页</font></a>
<a href="viewlist.jsp?pageNo=<%=total%>"><font class=main1 color=red>最后一页</font></a>
<%
}
%>
</td>
</tr>
</table>
</form>
<table width="675">
  <tr>
<td width="267">
<table width="260">
        <tr>
          <td width="140" align="center" valign="middle">
            <input type=button name=allSel onClick=allSel() value="全部选中" >
          </td>
          <td width="99" align="center" valign="middle">
            <input type="button" name="cancelSel" onClick="cancelSel()" value="取消选中">
          </td>
</tr>
</table>
</td>
<td width="396">
<form name="op" method="post" action="/pageview/infoservlet1">
        <table width="382">
          <tr>
            <td width="103" align="center" valign="middle">
              <input type="button" name="ins" onMouseover="getIns()" onClick="getIns()" value="添加记录">
            </td>
            <td width="153" align="center" valign="middle">
              <input type="submit" name="del" onMouseover="getBh()" value="删除记录">
              <input type="hidden" size=8 name="bh">
              <input type="hidden" size=8 name="op">
</td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>

解决方案 »

  1.   

    /**
     lixiang
     2003-11-12
     分页显示的BEAN
    */
    package comm;
    import java.sql.*;
    import comm.OracleDB;public class pageview {  /**计算记录总页数的方法
       *size 每页显示n条记录
       */
      public int mtotal(int size){
      int t=0;//记录个数
      int mtotal=0;//总共页数  String strSQL="select bh from jg_jbxx";
      Connection conn=OracleDB.getConnection();
      OracleDB db=new OracleDB();
      try{
        ResultSet rs = db.executeQuery(conn, strSQL);
        while (rs.next()) {
          t = t + 1;
        }
        if((t%size)>0)
        {
          mtotal=t/size+1;
        }
        else
        {
          mtotal=t/size;
        }
      }
      catch(Exception e1){
      System.out.println(e1.getMessage());
      }
      return mtotal;
      }/**显示人员记录列表
       * pageNo 当前页号
       * mtotal 总页数
       * size 每页显示几条记录
    */
      public ResultSet viewPage(int pageNo,int mtotal,int size)
      {
        int i, j, k;
        j=pageNo;//当前页号
        ResultSet rs = null;
        Connection conn=null;
        //判断员号
        if (pageNo==1) { j=1; }
        if (pageNo<1) { j=1; }
        if (pageNo>mtotal) { j=mtotal;}    String strSQL = "select jg_jbxx.bh as bh,xm,jg_mzmc.mz as mz,nvl(cj_zzrq,'无') as cj_zzrq,chrq,jg_zzmm.zzmm as zzmm,jg_rzjg.rzjg as rzjg from jg_jbxx,jg_mzmc,jg_zzmm,jg_rzjg,jg_zwxx where jg_mzmc.mzmc_bh=jg_jbxx.mz and jg_jbxx.zzmm=jg_zzmm.zzmm_bh and jg_rzjg.rzjg_bh=jg_zwxx.rzjg_dm and jg_zwxx.bh=jg_jbxx.bh order by jg_jbxx.bh asc";
        OracleDB db = new OracleDB();
        try
        {
          conn = OracleDB.getConnection();
          rs = db.executeQuery(conn, strSQL);
          for(k=0;k<(j-1)*3;k++)
          {
            rs.next();
          }
        }
          catch (Exception e1) {
            System.out.println(e1.getMessage());
          }
          return rs;    }/*    //测试
        public static void main(String args[])
        {
          pageview aa = new pageview();
          int page=aa.mtotal(3);
    //    System.out.print(page+"\n");
        ResultSet s =aa.viewPage(2,page,3);
        try
        {
          int i=0;
          while(s.next()&&(i<3))//&&(i<2)
          {
            System.out.println(s.getString("bh"));
            System.out.println(s.getString("xm"));
            i++;
          }
        }
        catch(Exception e)
        {
          e.printStackTrace();
        }  }*/}
      

  2.   

    你要改一下数据库用户名和密码
    javabean里的源程序
    package sql;import java.sql.*;public class operation1 { String sDBDriver = "org.gjt.mm.mysql.Driver";
    //String sDBDriver = "com.mysql.jdbc.Driver";
        String sConnStr = "jdbc:mysql://localhost:3306/test?user=root;password=pallas";
        Connection conn = null;
        ResultSet rs = null;
        Statement stmt;
    int rec_count=0;  public operation1() {
    try {
           Class.forName(sDBDriver);
           conn = DriverManager.getConnection(sConnStr);
           stmt = conn.createStatement();
    }
    catch(java.lang.ClassNotFoundException e)  {
       System.err.println("create(): " + e.getMessage());
    }
        catch(SQLException e){
        }
      }
      
      public int getcount(ResultSet rs_temp){
      try{
    while(rs_temp.next()){
    rec_count=rec_count+1;
    }
      }catch(SQLException e){
      
      }
      return rec_count;  
      }
        
      public boolean executeUpdate(String sql){
        try{
         stmt.executeUpdate(sql);
     return true;
    }catch(SQLException e){
       System.err.println("aq.executeUpdate: " + e.getMessage());
       return false;
    }
      }
      
      public Statement getStatement(){
        return stmt;
      }
      
      public ResultSet executeQuery(String sql) {
    rs = null;
    try {
      rs = stmt.executeQuery(sql);
    }
    catch(SQLException ex) {
      System.err.println("aq.executeQuery: " + ex.getMessage());
    }
    return rs;
     }
    }
    jsp里源代码
    package sql;import java.sql.*;public class operation1 { String sDBDriver = "org.gjt.mm.mysql.Driver";
    //String sDBDriver = "com.mysql.jdbc.Driver";
        String sConnStr = "jdbc:mysql://localhost:3306/test?user=root;password=pallas";
        Connection conn = null;
        ResultSet rs = null;
        Statement stmt;
    int rec_count=0;  public operation1() {
    try {
           Class.forName(sDBDriver);
           conn = DriverManager.getConnection(sConnStr);
           stmt = conn.createStatement();
    }
    catch(java.lang.ClassNotFoundException e)  {
       System.err.println("create(): " + e.getMessage());
    }
        catch(SQLException e){
        }
      }
      
      public int getcount(ResultSet rs_temp){
      try{
    while(rs_temp.next()){
    rec_count=rec_count+1;
    }
      }catch(SQLException e){
      
      }
      return rec_count;  
      }
        
      public boolean executeUpdate(String sql){
        try{
         stmt.executeUpdate(sql);
     return true;
    }catch(SQLException e){
       System.err.println("aq.executeUpdate: " + e.getMessage());
       return false;
    }
      }
      
      public Statement getStatement(){
        return stmt;
      }
      
      public ResultSet executeQuery(String sql) {
    rs = null;
    try {
      rs = stmt.executeQuery(sql);
    }
    catch(SQLException ex) {
      System.err.println("aq.executeQuery: " + ex.getMessage());
    }
    return rs;
     }
    }
    希望对你有帮助
      

  3.   

    你最好先下载一个高版本的JDBC驱动程序
      

  4.   

    好东西当然要分享啊!看我的:经典分页程序
    jsp+javaBeanhttp://www.52free.com/bbs/index.php?act=ST&f=8&t=148&st=0#entry298如果数据库不同只需修改javaBean中的驱动即可,页面显示数可以自己控制。