1.首先需要有方法的支持。
public class TestPage{
// 取得记录总数:
public int getRowNum(String where)throws Exception{
try{
String sql="select count(*) from dc_magic_maps"+where;
ResultSet rs=mng.executeSql(sql);
while(rs.next()){
return rs.getInt(1);
}
return 0;
}catch (Exception ex) {
ex.printStackTrace();
throw ex;
}
}
//取得要显示的记录:
public ArrayList loadByWhere(String where,int beginLimit,int endLimit) throws Exception {
try {
if (where == null) {
where = "";
}
String sql = "select * from dc_magic_maps " + where+" limit "+beginLimit+","+endLimit;//重要的是这里
ResultSet rs = mng.executeSql(sql);
ArrayList alist = new ArrayList();
while (rs.next()) {
alist.add(getAppsFromDB(rs));
}
return alist;
}
catch (Exception ex) {
ex.printStackTrace();
throw ex;
}
}
}
2.页面程序:
//----------------分页begin-------------------
TestPage appmanager=new TstPage(); //----------------注意:修改为自己的类
int list_size=10; //每页显示条数
int atAllNum=0; //显示条数总计数
int page_num; //当前页号-1,作为limit条件 page_num*list_size 显示的数据库开始条数
int pageCount; //总页数
int currentPageNum=1;//当前页号
try {
page_num=Integer.parseInt(request.getParameter("p"));
currentPageNum=page_num;
} catch (Exception ex) {
page_num= 1;
}
atAllNum=appmanager.getRowNum(""); //----------------注意:修改为自己的类,得到显示总数
pageCount=atAllNum+list_size-1;
pageCount/=list_size;
if(page_num>pageCount) page_num=pageCount;
if(page_num>0){page_num--;//为了读取数据的开始
}else{
page_num=0;
}
//----------------分页end-------------------
*************************************************************************
//显示控制
ArrayList apps=appmanager.loadByWhere("",page_num*list_size,list_size); //----------------注意:修改为自己的类
Iterator itrApps=apps.iterator();
for(int i=0;i<10;i++){
//循环........
}
*************************************************************************
<!----分页信息显示和控制begin--------------------------------------------------->
<form name="toPage" action="" method="POST">
<div align="right">共<u><%=atAllNum%></u>条记录 第<u><%=page_num+1%>/<%=pageCount%></u>页
<input type='hidden' name='p' value=''>
<%
java.util.Enumeration enums = request.getParameterNames();
String ssst;
for(; enums.hasMoreElements(); ) {
ssst = (String)enums.nextElement();
if(!"p".equalsIgnoreCase(ssst)) {
out.println("<input type='hidden' name='" + ssst + "' value='" + request.getParameter(ssst) + "'>");
}
}
if(page_num > 0) {
%>
<a href="#" onClick="document.toPage.p.value='<%=page_num%>'; document.toPage.submit();">上一页</a>
<%
}
page_num += 2;
if(pageCount>= page_num) {
%>
<a href="#" onClick="document.toPage.p.value='<%=page_num%>'; document.toPage.submit();">下一页</a>
<% } %>
跳到
<input name="text" type="text" id="txtpNum" value="<%=currentPageNum%>" size="3" maxlength="128">
页
<input name="Submit" type="button" onClick="document.toPage.p.value=document.toPage.txtpNum.value;
document.toPage.submit()" value="GO">
</div>
</form>
<!-------------------------------分页信息显示和控制end------------------------------------------>