<%!
int nowPageNum=0;//*当前页号 
int onePageCount=10;//*每页记录数(目前假设为10条) 
int allRecordCount=69;//*总记录数(目前假设为69条s)
int allPageCount=0;//*总页数 
//*获取记录的范围,这里用了nowFirst,nowLast  int firstPage=0; //最前的页号
int nowFirst=0;//当前首记录 
int nowLast=0;//当前尾记录 
%>
<%
//得到总页数 
allPageCount=allRecordCount/onePageCount; 
if((allRecordCount%onePageCount) > 0){ 

allPageCount++; 
}  //得到当前记录范围
if(request.getParameter("nowPageNum") != null){  nowPageNum = Integer.parseInt((String)request.getParameter("nowPageNum"));
nowFirst=(int)((allRecordCount+1)*nowPageNum/allPageCount ); 

nowLast=nowFirst+onePageCount-1; %>
<%
  Class.forName("数据驱动程序名"); 
String url="jdbc:url名称 "; 
Connection conn=DriverManager.getConnection(url); 
java.sql.Statement cmd=conn.createStatement(); 
String sql="SQL查询语句"; 
ResultSet rs=cmd.executeQuery(sql); 
         //移动到最当前页首记录 
for(int i=0;i<nowFirst;i++){ 
rs.next(); 

 
//取首记录到尾记录
out.println("<html>");
out.println("<body>");
out.println("<form name=\"thisForm\" post=\"page.jsp\" method=\"get\">");
out.println("<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">");
out.println(" <input type=\"hidden\" name=\"nowPageNum\" value=\"" + nowPageNum + "\">");
for(int j=nowFirst;j<=nowLast;j++){ 
if(rs.next()){ 
out.println("  <tr>");
out.println("  <td width=\"50\">");
out.println(rs.getInt("Id"));
out.println("  </td>");
out.println("  <td width=\"50\">");
out.println(rs.getInt("Thread"));
out.println("  </td>");
out.println("  <td width=\"50\">");
out.println(rs.getInt("Depth"));
out.println("  </td>");
out.println("  <td width=\"50\">");
out.println(rs.getInt("Sequence"));
out.println("  </td>");
out.println("    <td width=\"180\">");
out.println(rs.getString("Name"));
out.println("  </td>");
out.println("  </tr>");
}else{ 
break; 


out.println("</table>");
out.println("<br/>"); // (allPageCount-1)为末页
out.println("<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"780\">");
out.println("  <tr>");
out.println("    <td>每页10行</td>"); out.println("  <td>");
if(nowPageNum == firstPage){ out.println("<font color=\"#e3e3e3\">【首页】&nbsp;〖上一页〗</font>"); }else{ out.println("<a style=\"cursor:hand\" onClick=\"changePage(" + firstPage + ");\">【首页】</a>&nbsp;<a style=\"cursor:hand\" onClick=\"changePage(" + (nowPageNum-1) + ");\">〖上一页〗</a>");
}
if(nowPageNum == (allPageCount-1)){

out.println("<font color=\"#e3e3e3\">〖下一页〗&nbsp;【末页】</font>"); }else{ out.println("<a style=\"cursor:hand\" onClick=\"changePage(" + (nowPageNum+1) + ");\">〖下一页〗</a>&nbsp;<a style=\"cursor:hand\" onClick=\"changePage(" + (allPageCount-1) + ");\">【末页】</a>");
}
out.println("  </td>"); out.println("  <td>");
for(int i=0;i<allPageCount;i++){
out.println("<a href=\"?nowPageNum=" + i + "\">"+ (i+1) +"</a>");
}
out.println("&nbsp;直接查看第<select size=\"1\" name=\"selectPage\" onchange=\"changePage(this.options[this.selectedIndex].value)\">");
String strPageSelected="";
for(int i=0;i<=(allPageCount-1);i++){ if(nowPageNum==i)
{
strPageSelected=" selected";
}
else
{
strPageSelected="";
}
out.println("    <option value=\"" + i + "\"" + strPageSelected + ">" + (i+1) + "</option>");
}
out.println(" </select>/" + allPageCount + "页&nbsp");
out.println("  </td>"); out.println("  <td>共有记录:" + allRecordCount  + "&nbsp;</td>");
out.println("   </tr");
out.println("</table>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
out.println("<script language=\"javaScript\">");
out.println("function changePage(page){" );
out.println(" document.thisForm.nowPageNum.value=page; ");
out.println(" document.thisForm.submit(); ");
out.println(" }");
out.println("</script>");
%>