在jsp中实现分页。  
page是关键字,不能当变量。  
conn.jsp  
<%  
  String sDBDriver = \"COM.ibm.db2.jdbc.app.DB2Driver\";  
  String sConnStr = \"jdbc:db2:faq\";  
  Connection conn = null;  
  Statement stmt = null;  
  ResultSet rs=null;  
    try {  
        Class.forName(sDBDriver);    
  }  
    catch(java.lang.ClassNotFoundException e)   {  
    out.print(\"faq(): \" + e.getMessage());  
  }  
    
  try{  
    conn = DriverManager.getConnection(sConnStr,\"wsdemo\",\"wsdemo1\");      
    stmt = conn.createStatement();  
  }catch(SQLException e){  
    out.print(e.toString());  
  }  
%>  query.jsp  <%@ page language=\"java\" import=\"java.sql.*\" %>  
<%@ page contentType=\"text/html; charset=gb2312\" %>  
<%@ include file=\"conn.jsp\" %>  
<%  
.......  
int pages=0;  
int pagesize=10;  
ResultSet result = null;  
ResultSet rcount = null;  pages = new Integer(request.getParameter(\"pages\")).intValue();  if (pages>0)  
{  String sql=\" state=\'我不傻\'\";  
int count=0;  
try {  
rcount = stmt.executeQuery(\"SELECT count(id) as id from user where \"+sql);  
catch(SQLException ex) {  
 out.print(\"aq.executeQuery: \" + ex.getMessage());  
 }  
if(rcount.next())  
 count = rcount.getInt(\"id\");  
rcount.close();  if (count>0)  
{  
sql=\"select * from user where \"+sql;  
try {  
result = stmt.executeQuery(sql);  
  }  
catch(SQLException ex) {  
 out.print(\"aq.executeQuery: \" + ex.getMessage());  
 }  int i;  
String name;  
// result.first();  
// result.absolute((pages-1)*pagesize);  
// 此方法jdbc2.0支持。编译通过,但执行不过,不知是不是跟驱动有关,只好用下面的笨办法。  
for(i=1;i<=(pages-1)*pagesize;i++)  
 result.next();  
for(i=1;i<=pagesize;i++) {  
 if (result.next()) {  
 name=result.getString(\"name\");  
 out.print(name);  
 }  
result.close();  
int n= (int)(count/pagesize);  
if (n*pagesize<count) n++;  
if (n>1)  
{  
for(i=1;i<=n;i++)  
  out.print(\"<a href=query.jsp?pages=\"+i+\">\"+i+\" </a>\");  
}  
}  
}  
%>