import Java.SQL.*;
import Javax.servlet.*;// 引入servlet包
import Javax.servlet.http.*;
import Java.math.*;
public class Pagination{
private String strPage = null;// page参数变量
private int curPages;// page参数内部的值
private int m_rows; // 设置每页显示的页数
private int pages;// 总页数
// 取得test.jsp里的test.jsp?page=<%=curPages-1%>或是page=<%=curPages+1%>的值给变量strPage
public String strPage(HttpServletRequest request, String page){
try{
strPage = request.getParameter(page);// request对象取得page的值
}
catch(Exception e){
System.out.println("delcolumn"+e.getMessage());
}
return strPage;// 返回这个值。
}
// 页面数
public int curPages(String strPage){
try{
if(strPage == null){// 默认没有就设置是第一页
curPages = 1;
}
else{
curPages = Integer.parseInt(strPage);// 取得strPage的整数值
if(curPages < 1)// 如果小于1,同样返回是第一页
curPages = 1;
}
}
catch(Exception e){
System.out.print("curPages");
}
return curPages;// 返回页面数
}
// 设置每页要显示的记录数
public void setRows(int rows){
&nb
sp; m_rows=rows;
}
// 取得页数
public int getPages(int rowcounts){
int test;// 变量
test=rowcounts%m_rows;// 取得余数
if(test==0)
pages = rowcounts/m_rows;// 每页显示的整数
else
pages=rowcounts/m_rows+1;// 不是的话就加一
return pages;// 返回页数
}
// 结果集的返回
public ResultSet getPageSet(ResultSet rs,int curPages){
if(curPages==1){
return rs;// 如果是就一页的话,就返回这个rs
}
else{
int i=1;
try{
while(rs.next()){
i=i+1;
if(i>((curPages-1)*m_rows))
break;// 退出
}
&nb
sp; return rs;// 从退出开始将结果集返回
}
catch(Exception e){
System.out.print(e.getMessage());
}
}
return rs;
}
}
3.test.jsp --------显示页面
<%@ page c%>
<%@ page import="Java.SQL.*"%>
<jsp:useBean id="Pagination" scope="page" class="Pagination"/>
<jsp:useBean id="SQL" scope="page" class="DBConnect"/>
<%
int curPages = Pagination.curPages(Pagination.strPage(request,"page"));//Pagination.strPage(request,"page")取page值传递给curPages()方法
Pagination.setRows(10);//设置每页显示10条
%>
<%
ResultSet rs_count=SQL.executeQuery("select count(*) as t from test");//传递进数据库处理的Javabean
rs_count.next();
int resultc.getInt("t");//取得总的数据数
int totalPages = Pagination.getPages(resultconts);//取出总页数
ResultSet rs=Pagination.getPageSet(SQL.executeQuery("select * from test"),curPages);//获取指针的结果集参数是(结果集,页数)
%>
<p>分类表</p>
<table border="1">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<%int i=1;%>
<%while (rt.next()){%>
<tr>
<td><%=rt.getString("id")%> </td>
<td><%=rt.getString("name")%> </td>
</tr>
<%
i=i+1;
if(i>10)
break;
}
%>
</table>
<p align="center"><%if(curPages>1){%><a href="testBean.jsp?page=<%=curPages-1%>">上一页</a><%}%><%if(curPages<totalPages){%><a href="testBean.jsp?page=<%=curPages+1%>">下一页</a><%}%></p>
import Javax.servlet.*;// 引入servlet包
import Javax.servlet.http.*;
import Java.math.*;
public class Pagination{
private String strPage = null;// page参数变量
private int curPages;// page参数内部的值
private int m_rows; // 设置每页显示的页数
private int pages;// 总页数
// 取得test.jsp里的test.jsp?page=<%=curPages-1%>或是page=<%=curPages+1%>的值给变量strPage
public String strPage(HttpServletRequest request, String page){
try{
strPage = request.getParameter(page);// request对象取得page的值
}
catch(Exception e){
System.out.println("delcolumn"+e.getMessage());
}
return strPage;// 返回这个值。
}
// 页面数
public int curPages(String strPage){
try{
if(strPage == null){// 默认没有就设置是第一页
curPages = 1;
}
else{
curPages = Integer.parseInt(strPage);// 取得strPage的整数值
if(curPages < 1)// 如果小于1,同样返回是第一页
curPages = 1;
}
}
catch(Exception e){
System.out.print("curPages");
}
return curPages;// 返回页面数
}
// 设置每页要显示的记录数
public void setRows(int rows){
&nb
sp; m_rows=rows;
}
// 取得页数
public int getPages(int rowcounts){
int test;// 变量
test=rowcounts%m_rows;// 取得余数
if(test==0)
pages = rowcounts/m_rows;// 每页显示的整数
else
pages=rowcounts/m_rows+1;// 不是的话就加一
return pages;// 返回页数
}
// 结果集的返回
public ResultSet getPageSet(ResultSet rs,int curPages){
if(curPages==1){
return rs;// 如果是就一页的话,就返回这个rs
}
else{
int i=1;
try{
while(rs.next()){
i=i+1;
if(i>((curPages-1)*m_rows))
break;// 退出
}
&nb
sp; return rs;// 从退出开始将结果集返回
}
catch(Exception e){
System.out.print(e.getMessage());
}
}
return rs;
}
}
3.test.jsp --------显示页面
<%@ page c%>
<%@ page import="Java.SQL.*"%>
<jsp:useBean id="Pagination" scope="page" class="Pagination"/>
<jsp:useBean id="SQL" scope="page" class="DBConnect"/>
<%
int curPages = Pagination.curPages(Pagination.strPage(request,"page"));//Pagination.strPage(request,"page")取page值传递给curPages()方法
Pagination.setRows(10);//设置每页显示10条
%>
<%
ResultSet rs_count=SQL.executeQuery("select count(*) as t from test");//传递进数据库处理的Javabean
rs_count.next();
int resultc.getInt("t");//取得总的数据数
int totalPages = Pagination.getPages(resultconts);//取出总页数
ResultSet rs=Pagination.getPageSet(SQL.executeQuery("select * from test"),curPages);//获取指针的结果集参数是(结果集,页数)
%>
<p>分类表</p>
<table border="1">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<%int i=1;%>
<%while (rt.next()){%>
<tr>
<td><%=rt.getString("id")%> </td>
<td><%=rt.getString("name")%> </td>
</tr>
<%
i=i+1;
if(i>10)
break;
}
%>
</table>
<p align="center"><%if(curPages>1){%><a href="testBean.jsp?page=<%=curPages-1%>">上一页</a><%}%><%if(curPages<totalPages){%><a href="testBean.jsp?page=<%=curPages+1%>">下一页</a><%}%></p>