关于对于查询结果进行分页的代码如下:
这个是基本的PageBean类:
package com.pagebean;
import java.util.List;
public class PageBean {
//当前页
private int currentPage=1;
//每页记录数
private int pageSize=9;
//总页数
private int pageTotal;
//总记录数
private int rowTotal;
//查询记录集合
private List list;
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageTotal() {
return pageTotal;
}
public void setPageTotal(int pageTotal) {
this.pageTotal = pageTotal;
}
public int getRowTotal() {
return rowTotal;
}
public void setRowTotal(int rowTotal) {
this.rowTotal = rowTotal;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
下来是业务层的调用和对结果List的处理:
int index = Integer.parseInt(request.getParameter("index"));
List list=查询返回结果的List;
List listNew= new ArrayList();
if (list != null) {
for (int i = (index - 1) * pagesize; i < index * pagesize
&& i < list.size(); i++) {
listNew.add(list.get(i));
}
}
PageBean page = new PageBean();
page.setCurrentPage(index);
page.setPageTotal((list.size() + pagesize - 1) / pagesize);
page.setRowTotal(list.size());
page.setList(listNew);
request.setAttribute("indexs", index);
request.setAttribute("page", page);
return mapping.findForward("返回到相应界面");
下面是页面的处理:
这是页面获取结果进行显示的方法;
<%PageBean pages=(PageBean)request.getAttribute("page");
List list=pages.getList();%>
<table width="761" height="50" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="561"> </td>
<td width="40" align="right"><a href="相应的action&index=1" ><span >首页</span></a></td>
<% if(pages.getCurrentPage()>1){ %>
<td width="40" align="right"><a href="ticketManager.do?index=${indexs-1}&ticket=getNewXsgl"> <span >上一页</span></a></td>
<% }%>
<% if(pages.getCurrentPage()==1){ %>
<td width="40" align="right"><a href="ticketManager.do?index=1&ticket=getNewXsgl"><span >上一页</span></a></td>
<% }%>
<td width="40" align="center"><span ><%=pages.getCurrentPage() %>/<%=pages.getPageTotal()%></span></td>
<% if(pages.getCurrentPage()<pages.getPageTotal()){ %>
<td width="40" align="left"><a href="ticketManager.do?index=${indexs+1}&ticket=getNewXsgl" ><span >下一页</span></a></td>
<%} %>
<% if(pages.getCurrentPage()==pages.getPageTotal()){ %>
<td width="40" align="left"><a href="ticketManager.do?index=<%=pages.getPageTotal() %>&ticket=getNewXsgl"><span >下一页</span></a></td>
<%} %>
<td width="40" align="left"><a href="ticketManager.do?index=<%=pages.getPageTotal() %>&ticket=getNewXsgl"><span >尾页</span></a></td>
</tr>
</table>
这是对结果进行分页的·· 还有就是直接用查询语句分页的·· 希望哪位留在回复里·····