博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
低版本mybatis不能用PageHeper插件的时候用这个分页
阅读量:6327 次
发布时间:2019-06-22

本文共 5899 字,大约阅读时间需要 19 分钟。

hot3.png

package com.yh.util;import java.util.ArrayList;import java.util.List;/** * @Description: 分页类 * @Author: 张颖辉(yh) * @CreateDate: 2018/5/7 19:00 * @UpdateUser: 张颖辉(yh) * @UpdateDate: 2018/5/7 19:00 * @UpdateRemark: The modified content * @Version: 1.0 */public class PageInfo
{ /*数据*/ private List
list; /*总条数*/ private Long count; /*总页数*/ private Integer pages; /*当前页码*/ private Integer currPage; /*每页条数*/ private Integer pageSize; /*开始行*/ private Long startRow; /*显示排列的页码(一些分页控件会使用)*/ private List
showNos; /*是否有上一页*/ private Boolean hasPrevious; /*是否有下一页*/ private Boolean hasNext; public PageInfo(Integer currPage, Integer pageSize, Long count) { this.currPage = currPage; this.pageSize = pageSize; this.count = count; this.update(); if (currPage > this.pages) { setCurrPage(this.pages); } } public List
getList() { return list; } public void setList(List
list) { this.list = list; } public Long getCount() { return count; } public void setCount(Long count) { this.count = count; this.update(); } public Integer getPages() { return pages; } public Integer getCurrPage() { return currPage; } public void setCurrPage(Integer currPage) { currPage = currPage < 1 ? 1 : currPage; this.currPage = currPage; this.update(); } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { if (pageSize < 1) { throw new RuntimeException("pageSize不能小于1"); } this.pageSize = pageSize; this.update(); } public Long getStartRow() { return startRow; } public List
getShowNos() { return showNos; } public Boolean getHasPrevious() { this.hasPrevious=this.currPage > 1; return hasPrevious; } public Boolean getHasNext() { this.hasNext=this.currPage < this.pages; return hasNext; } /** * @Description: 更新数据:总页数,和数据开始行数 * @Author: 张颖辉(yh) * @Date: 2018/5/8 10:42 * @param: [] * @return: void * @Version: 1.0 */ private void update() { if (count != null) { if (pageSize != null && pageSize != 0) { if (count % pageSize != 0) { this.pages = (int) (count / pageSize) + 1; } else { this.pages = (int) (count / pageSize); } } } if (currPage != null) { if (pageSize != null) { this.startRow = (currPage - 1) * pageSize.longValue(); } /*显示排列页*/ if (pages != null) { showNos = new ArrayList<>(); for (int i = (currPage - 2 > 0 ? currPage - 2 : 1); i <= (currPage + 2 > pages ? pages : currPage + 2); i++) { showNos.add(i); } } } }}

使用方式:

服务端service关键代码:

Long count=auditLogMapper.getCountByCondition(userId, userName, startTimeStr, endTimeStr);;        PageInfo
pageInfo=new PageInfo(currPage, pageSize, count); List
list = auditLogMapper.getAuditsByCondition(userId, userName, startTimeStr, endTimeStr, pageInfo.getStartRow(), pageInfo.getPageSize()); pageInfo.setList(list); return pageInfo;

action/controller中将这个pageInfo放入request.setAttribute()中,以供jsp中使用。

前端关键代码:

引入依赖的js,css

前端使用的是EL表达式结合JSTL标签库,所以要引入:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 分页控件标签:

javascript脚本:

/**         * @Description:   分页跳转         * @Author:        张颖辉(yh)         * @Date:          2018/5/8 15:17         * @param:         * @return:         * @Version:       1.0         */        function pageJump(pageNo) {            var url = "xxx.action"            var paras = "";            if (notNull(pageNo)) {                paras = addPara(paras, "pageNo", pageNo);            }            if (notNull("${userId}")) {                paras = addPara(paras, "userId", "${userId}");            }            if (notNull("${userName}")) {                paras = addPara(paras, "userName", "${userName}");            }            if (notNull("${startTimeStr}")){                paras = addPara(paras, "startTimeStr", "${startTimeStr}");            }            if (notNull("${endTimeStr}")){                paras = addPara(paras, "endTimeStr", "${endTimeStr}");            }            window.location.href = url + paras;        }        /**         * @Description:   添加参数         * @Author:        张颖辉(yh)         * @Date:          2018/5/8 15:16         * @param:         * @return:         * @Version:       1.0         */        function addPara(paras, paraName, paraValue) {            if (paras.length == 0) {                paras = "?" + paraName + "=" + paraValue            } else {                paras += "&" + paraName + "=" + paraValue;            }            return paras;        }        /**         * @Description:   查空         * @Author:        张颖辉(yh)         * @Date:          2018/5/8 15:16         * @param:         * @return:         * @Version:       1.0         */        function notNull(x) {            if (x !== null && x !== undefined && x !== '') {                return true;            } else {                return false;            }        }

显示效果:

130148_qazm_2507499.png

转载于:https://my.oschina.net/iyinghui/blog/1809440

你可能感兴趣的文章
凸显价值:全国CIO交流大会7月20-22日将于青海举办
查看>>
邓海建:让网约车成为智慧城市的“老司机”
查看>>
管理云栈将会胜出吗?
查看>>
"爱说说"技术原理方案的定选思考过程(一)
查看>>
三星全球首家量产18nm DRAM
查看>>
中兴同美司法部和解协议获准:罚12亿美元
查看>>
服务差,信号不好真的是联通用户下滑的原因吗?
查看>>
中国的5G之路
查看>>
在开发流程中嵌入安全测试
查看>>
网络集中投射了全部安全问题
查看>>
WhatsApp宣布免费 欲变身一站式企业式服务应用
查看>>
红帽计划收购API管理领导者3scale
查看>>
边缘计算+SDN:为物联网腾飞插上翅膀
查看>>
TP-LINK、迅捷等品牌路由器存在质量问题
查看>>
商务部强势回应 欧盟裁定高额税率方法不合理
查看>>
标准化工作取得新突破 窄带物联网商用指日可待
查看>>
《高性能科学与工程计算》——3.7 习题
查看>>
SDN商用落地:遍地开花不代表全面实现
查看>>
查看Linux服务器下的内存使用情况
查看>>
CIO无法忽视的三大云角色
查看>>