分页

 

分页 bean PageBean.java ):
package com.shop.bean;
public class PageBean {
 private int count = 0; //
记录总数
    private int pageSize = 10; //
每页显示记录数
    private int pageCount = 0; //
总页数
    private int page = 1; //
当前页数
    private int begin = 0;//
从第几条记录开始
   
    public int getBegin() {
  return begin;
 }
 public void setBegin(int begin) {
  this.begin = begin;
 }
 public int getCount() {
  return count;
 }
 public void setCount(int count) {
  if (pageSize != 0) {    //
如果每页显示记录不为 0
            pageCount = count / pageSize; //
总页数等于总记录数除以每页记录数
            if (count % pageSize != 0) { //
只要总记录数磨每页显示记录数不为 0
                pageCount++;    //
总页数就 +1
            }
            begin = (page-1)*pageSize;
        }
        this.count = count;
 }
 public int getPageSize() {
  return pageSize;
 }
 public void setPageSize(int pageSize) {
  this.pageSize = pageSize;
 }
 public int getPageCount() {
  return pageCount;
 }
 public void setPageCount(int pageCount) {
  this.pageCount = pageCount;
 }
 public int getPage() {
  return page;
 }
 public void setPage(int page) {
  this.page = page;
 }

}
--------------------------------------------------------------------------------------------------------------------------
核心分页类( Count.java ):
package com.shop.count;
import java.util.List;
import com.shop.bean.PageBean;
public class Count implements PaginateInterface {
 //
显示用的分页信息
 public String getToolsMenu(PageBean p) {
   
       StringBuffer str = new StringBuffer("");
      
       int next, prev;  
       prev = p.getPage() - 1;  
       next = p.getPage() + 1;  
      
       str.append("<INPUT type=hidden id=/"jumpPage/" name=/"jumpPage/" > ");  
    str.append("<INPUT type=hidden id=/"jumpSize/" name=/"jumpSize/"> "); 
       if (p.getPage() > 1) {  
        str  
          .append("<a href=/"#/" οnclick='document.getElementById(/"jumpPage/").value=1;document.forms(0).submit();'>
首页 </a> ");  
       } else {  
           //str.append("<a href=/"#/">
首页 </a> ");
           str.append("
首页 ");
       }  
       if (p.getPage() > 1) {  
        str.append("<a href=/"#/" οnclick='document.getElementById(/"jumpPage/").value="  
          + prev + ";document.forms(0).submit();'>
上页 </a> ");  
       } else {  
           //str.append("<a href=/"#/">
上页 </a> ");  
           str.append("
上页 ");  
       }  
       if (p.getPage() < p.getPageCount()) {  
        str.append("<a href=/"#/" οnclick='document.getElementById(/"jumpPage/").value="  
          + next + ";document.forms(0).submit();'>
下页 </a> ");  
       } else {  
         //str.append("<a href=/"#/" >
下页 </a> ");  
           str.append("
下页 ");
       }  
       if (p.getPageCount() > 1 && p.getPage() != p.getPageCount()) {  
        str.append("<a href=/"#/" οnclick='document.getElementById(/"jumpPage/").value="  
          + p.getPageCount()  
          + ";document.forms(0).submit();'>
末页 </a>  ");  
       } else {  
        //str.append("<a href=/"#/" >
末页 </a>  ");
          str.append("
末页   ");
       }  
       str.append("
" + p.getCount() + " 条记录 ");  
       str  
         .append(" 
每页 <SELECT size=1 name=pagesize οnchange='document.getElementById(/"jumpPage/").value=1;document.getElementById(/"jumpSize/").value=this.value;this.form.submit();'>");  
       
       if (p.getPageSize() == 3) {  
        str.append("<OPTION value=3 selected>3</OPTION>");  
       } else {  
        str.append("<OPTION value=3>3</OPTION>");  
       }  
       
       if (p.getPageSize() == 10) {  
        str.append("<OPTION value=10 selected>10</OPTION>");  
       } else {  
        str.append("<OPTION value=10>10</OPTION>");  
       }  
       if (p.getPageSize() == 20) {  
        str.append("<OPTION value=20 selected>20</OPTION>");  
       } else {  
        str.append("<OPTION value=20>20</OPTION>");  
       }  
       if (p.getPageSize() == 50) {  
        str.append("<OPTION value=50 selected>50</OPTION>");  
       } else {  
        str.append("<OPTION value=50>50</OPTION>");  
       }  
       if (p.getPageSize() == 100) {  
        str.append("<OPTION value=100 selected>100</OPTION>");  
       } else {  
        str.append("<OPTION value=100>100</OPTION>");  
       }  
       str.append("</SELECT>");  
       str.append("
" + p.getPageCount() + " 页显示 转到 ");  
       str  
         .append("<SELECT size=1 name=Pagelist οnchange='document.getElementById(/"jumpPage/").value=this.value;this.form.submit();'>");  
       for (int i = 1; i < p.getPageCount() + 1; i++) {  
        if (i == p.getPage()) {  
         str.append("<OPTION value=" + i + " selected>" + i  
           + "</OPTION>");  
        } else {  
         str.append("<OPTION value=" + i + ">" + i + "</OPTION>");  
        }  
       }  
       str.append("</SELECT>
");  
       
       return str.toString();  
 }
 
}
数据库分页:
 public List isSelectAllProduct(PageBean pb) {
  String hql = "from Product order by productID desc";
  Query q = session.createQuery(hql);
  q.setFirstResult(pb.getBegin()); //
从第几条数据开始
  q.setMaxResults(pb.getPageSize());//
每页显示数量
  List all = q.list();
  session.beginTransaction().commit();
  session.close();
  return all;
 }
--------------------------------------------------------------------------------------------------------------------------
Servlet
Count c = new Count(); // 条用分页核心类
PageBean pb = new PageBean();//
引入分页 bean
if(request.getParameter("pagesize")!=null&&!"".equals(request.getParameter("pagesize"))){
    pb.setPageSize(Integer.parseInt(request.getParameter("pagesize")));//
每页显示多少条数据
   }
if(request.getParameter("jumpPage")!=null){
    pb.setPage(Integer.parseInt(request.getParameter("jumpPage")));//
当前显示第几页
   }
pb.setCount(ShoppingFactory.getProductDAOInstanceFactory().isSelectCountProduct());//
查询数据总数
String str = c.getToolsMenu(pb); // 获得分页导航栏
List all = ShoppingFactory.getProductDAOInstanceFactory().isSelectAllProduct(pb);//
根据 bean 的数据查询数据
request.getSession().setAttribute("all", all);// 传递查询结果
request.getSession().setAttribute("menu", str);//
传递分页导航
--------------------------------------------------------------------------------------------------------------------------
页面调用导航: ${menu }
注:页面调用导航后,必须用 <form></form> 提交到 servlet 中导航才能生效!例如:
<form name="form1" method="post" action="/shoppingonline/admincountproductservlet?state=selectproduct">
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值