通用分页核心思路

通用分页核心思路 将上一次查询请求再发一次,只不过页码变了

  1. PageBean
    分页三要素
    page 页码 视图层传递过来
    rows 页大小 视图层传递过来
    total 总记录数 后台查出来
    pagination 是否分页 视图层传递过来

  2. 后台
    2.1 entity
    2.2 dao
    第一次查满足条件的总记录数
    第二次查指定页码并满足条件的记录
    二次查询的条件要一致
    2.3 控制层
    Servlet

  3. 视图层
    PageTag

    如何将上一次的请求再发一次:submit()
    请求的参数:
    private Map<String, String[]> parameterMap;
    req.getParameterMap();
    请求的地址:
    private String url;
    req.getContextPath()+req.getServletPath();
    起始记录=(this.page - 1) * this.rows
    最大页=total/rows if(0!=total%rows) 需要加1
    普通sql转总记录数的sql SELECT count(*) from ("+ sql+")t
    普通sql转满足条件的sql sql+" limit “+pageBean.getStartIndex()+”,"+pageBean.getRows();

    当前第N页 共N页 共N条 首页href=‘javascript:doForward(1)’ 上一页 下一页 尾页

效果截图:
效果图