针对list集合进行分页展示
直接定义个工具类,代码如下:
- package com.jk51.modules.wechat.web.util;
- import java.util.Collections;
- import java.util.List;
- /**
- * 版权所有(C) 2018 * 作者: chen
- * 创建日期: 2018/6/20
- * 修改记录:
- */
- public class ListPageUtil<T> {
- private List<T> data;
- /** 上一页 */
- private int lastPage;
- /** 当前页 */
- private int currentPage;
- /** 下一页 */
- private int nextPage;
- //
- /** 每页条数 */
- private int pageSize;
- /** 总页数 */
- private int totalPage;
- /** 总数据条数 */
- private int totalCount;
- public ListPageUtil(List<T> data,int currentPage,int pageSize) {
- if (data == null || data.isEmpty()) {
- throw new IllegalArgumentException("data must be not empty!");
- }
- this.data = data;
- this.pageSize = pageSize;
- this.currentPage = currentPage;
- this.totalCount = data.size();
- this.totalPage = (totalCount + pageSize - 1) / pageSize;
- this.lastPage = currentPage-1>1? currentPage-1:1;
- this.nextPage = currentPage>=totalPage? totalPage: currentPage + 1;
- }
- /**
- * 得到分页后的数据
- * @return 分页后结果
- */
- // public List<T> getPagedLst() {
- // int fromIndex = (nowPage - 1) * pageSize;
- // if (fromIndex >= data.size()) {
- // return Collections.emptyList();//空数组
- // }
- // if(fromIndex<0){
- // return Collections.emptyList();//空数组
- // }
- // int toIndex = nowPage * pageSize;
- // if (toIndex >= data.size()) {
- // toIndex = data.size();
- // }
- // return data.subList(fromIndex, toIndex);
- // }
- public int getPageSize() {
- return pageSize;
- }
- public List<T> getData() {
- int fromIndex = (currentPage - 1) * pageSize;
- if (fromIndex >= data.size()) {
- return Collections.emptyList();//空数组
- }
- if(fromIndex<0){
- return Collections.emptyList();//空数组
- }
- int toIndex = currentPage * pageSize;
- if (toIndex >= data.size()) {
- toIndex = data.size();
- }
- return data.subList(fromIndex, toIndex);
- }
- public int getLastPage() {
- return lastPage;
- }
- public int getCurrentPage() {
- return currentPage;
- }
- public int getNextPage() {
- return nextPage;
- }
- public int getTotalPage() {
- return totalPage;
- }
- public int getTotalCount() {
- return totalCount;
- }
- }
针对list集合进行分页展示的更多相关文章
- linq查询集合并分页展示数据
private void Bind() { if (Request.QueryString["QuestionNo"] != null) { string QuestionNo = ...
- C#-WebForm-组合查询(Queryable延迟查询、Intersect交集)、分页展示基础
组合查询: 方法一:Queryable<> 延迟查询 其特点是:读到词句代码时不会立即执行,而是在进行数据绑定时执行 优点:此期间可以进行添加查询条件,以减少数据库查询内容,来减少内存占用 ...
- MySQL+Service+Servlet+Jsp实现Table表格分页展示数据
下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...
- Java Web中将oracle的数据库内容以表格形式展现到页面中(分页展示)
分页SQL语句: ----分页显示 select * from (select rownum as r,t.* from () ; 查询的结果如下: 这个SQL,使用了三层嵌套的查询方式: 1)最内层 ...
- Django学习(5)优雅地分页展示网页
在我们平时浏览网页时,经常会遇到网页里条目很多的情形,这时就会用到分页展示的功能.那么,在Django中,是如何实现网页分类的功能的呢?答案是Paginator类. 本次分享讲具体展示如何利用Djan ...
- Decoration4:分页展示
现在我们实现前台List的分页展示,这也是最基本的要求 先看现在的Rest数据格式,在spring的默认返回中,分页用到的元素都已经在page节点中返回了,只要在前台合理利用就足够了 { " ...
- List集合进行分页
/** * @ClassName: Text2 * @Description: (集合的分页算法) * @author Luhan * @date 2017年3月16日 下午17:18:06*/pub ...
- express + jqPaginator 分页展示内容
写在前面的话 分页展示内容也是我们在页面开发中经常会遇到的需求 前端页面利用jqPaginator这个jquery插件来编写 后端利用mysql存储数据 开始敲代码 回顾sql知识 首先让我们回顾一下 ...
- jquery分页展示控件:kkpager
kkpager v1.2 js分页展示控件,传入简单参数就能使用的分页效果控件 准备工作,引入js.css <script type="text/javascript" sr ...
随机推荐
- ElasticSearch相关文章推荐
1. ElasticSearch查询:http://www.cnblogs.com/ljhdo/p/4486978.html 2. Elasticsearch Java API 的使用—多条件查询:h ...
- crontab 在指定时间范围每隔2小时执行一次和指定时间执行实例
crontab 在指定时间范围每隔2小时执行一次和指定时间执行,下面实例实现了:10-23点每两个小时执行一次,2点执行一次,分钟依次是1 2 3 ,没有24点的,晚上12点是0点注:*代表所有的取值 ...
- linux下的ifconfig命令
ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置. 1.命令格式: ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设 ...
- 关于js的日期处理
1.日期转换(Date)方法一:String变为Date var t = "2015-03-16";var array = t.split("-");var ...
- K8S学习笔记之二进制的方式创建一个Kubernetes集群
0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方地址: ...
- flask自动代码自动补全
编写py文件时,无法补全: 在app对象后面添加:# type:Flask app=Flask(__name__) # type:Flask from flask import Flask, fl ...
- jQuery知识总结(转)
原文:http://fwhyy.com/2013/04/jquery-knowledge-summary/ 这篇文章在于筛选器的简单例子,让人一看就懂代码的作用 20170223 前言 jQuery一 ...
- 【题解】Luogu P2257 YY的GCD
原题传送门 这题需要运用莫比乌斯反演(懵逼钨丝繁衍) 显然题目的答案就是\[ Ans=\sum_{i=1}^N\sum_{j=1}^M[gcd(i,j)=prime]\] 我们先设设F(n)表示满足\ ...
- Vmware 安装centos7与网络配置
一.下载linux镜像 下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso 二.创 ...
- centos 7 安装使用 redis
1.下载redis,用wget就行,版本在这里找: http://download.redis.io/releases/ 2.安装gcc,tcl,用yum 安装. 3.解压,make ,make in ...