先引入JS和css
<link href="${request.contextPath}/build/css/pageNav.css" rel="stylesheet">
<script src="${request.contextPath}/build/js/pageNav.js"></script>
然后把分页按钮框放在需要的位置
<nav aria-label="Page navigation" class="page-nav-outer" id="PageNavId"></nav>
/*引入分页(pageNav.css/js)*/ var pageNavObj; /*当前页*/ var nowPage;
/*初始化数据,访问controller 传入nowPage 当前页,count每页数*/ function chushihua() { var shu=($("#sousuo").val()).replace(/\s+/g,""); $.ajax({ url: "${request.contextPath}/store/selectAll", type: "POST", cache:false, data:{"nowPage":nowPage,"count":10}, dataType:"json", success: function (dat) {
/*初始化分页*/ pageNavObj = new PageNavCreate("PageNavId", { pageCount:dat.pageCount,//总页数 currentPage:dat.nowPage,//当前页 perPageNum: 5//每页按钮数 }); /*分页点击回调 nowpage*/ pageNavObj.afterClick(function (np) { nowPage = np; chushihua() });
}, error: function (dat) { } }); }
创建分页类。(可以用其他类继承,来添加需要传递的参数)
package com.mo1.page;
import java.util.List;
/**
* @author:
*/
public class Page {
//总数页
private Integer pageCount;
//总条数
private Integer sumCount ;
//每页显示条数
private Integer count = 5;
//当前页
private Integer nowPage = 1 ;
//开始第几条数
private Integer startIndex ;
//当前页内容
private List pageList ;
@Override
public String toString() {
return "Page{" +
"pageCount=" + pageCount +
", sumCount=" + sumCount +
", count=" + count +
", nowPage=" + nowPage +
", startIndex=" + startIndex +
", pageList=" + pageList +
'}';
}
public Integer getPageCount() {
this.pageCount = (this.sumCount-1)/this.count + 1 ;
return pageCount;
}
public void setPageCount(Integer pageCount) {
this.pageCount = pageCount;
}
public Integer getSumCount() {
return sumCount;
}
public void setSumCount(Integer sumCount) {
this.sumCount = sumCount;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Integer getNowPage() {
return nowPage;
}
public void setNowPage(Integer nowPage) {
this.nowPage = nowPage;
}
public Integer getStartIndex() {
this.startIndex = (this.nowPage - 1)*this.count ;
return startIndex;
}
public void setStartIndex(Integer startIndex) {
this.startIndex = startIndex;
}
public List getPageList() {
return pageList;
}
public void setPageList(List pageList) {
this.pageList = pageList;
}
}
CJPage是我创建的分页类继承了page,控制层
public CJPage selectCall(CJPage cjPage) { return slideshowService.selectCall(cjPage); }
service层接口
CJPage selectCall(CJPage cjPage);
service层实现类
public CJPage selectCall(CJPage cjPage) { cjPage.setSumCount(slideshowMapper.selectCnum()); cjPage.setPageList(slideshowMapper.selectCall(cjPage)); return cjPage; }
dao层接口selectCall用于查询需要的类
List<Slideshow> selectCall(CJPage cjPage);
selectCnum用于查询分页数据总数
int selectCnum();
sql语句
<select id="selectCall" resultMap="BaseResultMap"> SELECT * FROM slideshow s where s.slideshow_state<![CDATA[ != ]]> 2 order by s.slideshow_time desc limit ${startIndex},${count} </select>
<select id="selectCnum" resultType="java.lang.Integer"> SELECT count(*)FROM slideshow s where s.slideshow_state<![CDATA[ != ]]> 2 </select>