关于分页前台页面+后台实现

Posted yangfanfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于分页前台页面+后台实现相关的知识,希望对你有一定的参考价值。

后台分页工具类

package com.entity;

/**
 * 分页工具类
 * 
 * @author H.ros
 *
 */
public class PageUtils 
    // 当前页默认第1页(从页面获取的当前页码,未计算)
    private int currentPage = 1;
    // 前一页
    private int prevPage;
    // 下一页
    private int nextPage;
    // 尾页
    private int lastPage;
    // 总记录数
    private int count;
    // 每页的条数,默认10条
    private int pageSize = 1;
    // 开始记录数,分页计入数(使用时调用的初始页,计算后)
    private int pageRecord;
    // 页面分页html模型代码
    private String page;

    // 有参构造器
    public PageUtils(String currentPage, int count, String pageSize) 
        init(currentPage, count, pageSize);
        initLastPage();
        initCurrentPage();
        initPrevPage();
        initNextPage();
        initPageRecord();
        initPage();
    

    // 初始化三个重要元素
    private void init(String currentPage, int count, String pageSize) 
        if (currentPage != null && currentPage != "" && currentPage != "0") 
            this.currentPage = Integer.parseInt(currentPage);
        

        this.count = count;

        if (pageSize != null && pageSize != "" && pageSize != "0") 
            this.pageSize = Integer.parseInt(pageSize);
            ;
        
    

    // 初始化尾页
    private void initLastPage() 
        if (count % pageSize == 0) 
            lastPage = count / pageSize;
         else 
            lastPage = count / pageSize + 1;
        
    

    // 初始化并矫正当前页(防止外部访问出错)
    private void initCurrentPage() 
        if (currentPage < 1) 
            currentPage = 1;
         else if (currentPage > lastPage) 
            currentPage = lastPage;
        
    

    // 初始化上一页
    private void initPrevPage() 
        if (currentPage != 1) 
            prevPage = currentPage - 1;
         else 
            prevPage = 1;
        
    

    // 初始化下一页
    private void initNextPage() 
        if (currentPage != lastPage) 
            nextPage = currentPage + 1;
         else 
            nextPage = lastPage;
        
    

    // 初始化分页计入数
    private void initPageRecord() 
        pageRecord = (currentPage - 1) * pageSize;
        if (pageRecord < 0) 
            pageRecord = 0;
        
    

    // 初始化html页面分页模型代码
    private void initPage() 
        page = "<div style=‘text-align: right;‘>";
        page += "第" + currentPage + "/" + lastPage + "页,共" + count + "条记录。";
        page += "<select style=‘width: 70px;‘ id=‘pageSize‘ onchange=‘page(1)‘><option>1</option><option>2</option><option>5</option></select>";
        page += "<input type=‘button‘ value=‘首页‘ onclick=‘page(1)‘ />";
        page += "<input type=‘button‘ value=‘上一页‘ onclick=‘page(" + prevPage + ")‘ />";
        page += "<input type=‘button‘ value=‘下一页‘ onclick=‘page(" + nextPage + ")‘ />";
        page += "<input type=‘button‘ value=‘尾页‘ onclick=‘page(" + lastPage + ")‘ />";
        page += "</div>";
    

    /*
     * 对外访问通道
     */
    public int getCurrentPage() 
        return currentPage;
    

    public int getPrevPage() 
        return prevPage;
    

    public int getNextPage() 
        return nextPage;
    

    public int getLastPage() 
        return lastPage;
    

    public int getCount() 
        return count;
    

    public int getPageSize() 
        return pageSize;
    

    public int getPageRecord() 
        return pageRecord;
    

    public String getPage() 
        return page;
    

后台代码

查询语句中
    int count = bannerService.selectCount();
        PageUtils pageUtils = new PageUtils(currentPage, count, pageSize);
        // 开始记录数,由工具类中计算得出
        int begin = pageUtils.getPageRecord();
        // 查几条记录
        int number = pageUtils.getPageSize();
        // 前台页面分页模型(传入页面使用的html代码)
        String page = pageUtils.getPage();
        List<Banner2> list = bannerService.selectAll(begin, number);

        map.put("banner", list);
        map.put("page", page);
        map.put("number", number);

dao。xml层

 <select id="selectAll" resultMap="BaseResultMap" >
 
    select * from banner limit $begin,$number
  </select>
  
  <select id="selectCount" resultType="int">
  select count(*) count from banner
  </select>

前台页面撰写

$(function()
    $("#pageSize").val("$number");
)
function page(i)
    //获取到下拉框选中的值
    var pageSize = $("#pageSize").find("option:selected").text()
    window.location.href="/ShoppingBackstage/banner/indexs?currentPage="+i+"&pageSize="+pageSize+" "


$page

 实现层

public interface bannerService 
    public List<Banner2> selectAll(int begin, int number);

    public int selectCount();

    public void insert(Banner2 banner);

    public void delete(int id);

    public void update(Banner2 banner2);

    public Banner2 selectByid(int id);

 

以上是关于关于分页前台页面+后台实现的主要内容,如果未能解决你的问题,请参考以下文章

关于分页

jquery easyui datagrid 分页实现

java 数据放在了list中,如何实现前台分页

java网页怎样从后台读取背景图片显示在前台页面

关于php的前台,后台的基本写法

js前台页面与后台如何传参