针对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 ...
随机推荐
- C# 复制值类型的变量和类
C#大多数基元类型包括int.float.double.和char等,注意这里不包括string,这些都是值类型.将变量声明为值类型,编译器会生成代码来分配足以容纳这个值得内存块.编译器分配内存的时候 ...
- win10 常用设置 桌面出来计算机图标,固定桌面摆好的图标设置方法,电脑设备ID方法
win10 常用设置 桌面出来计算机图标,固定桌面摆好的图标设置方法 桌面右键-->显示设置-->桌面图标设置 电脑设备ID:xxx查看方法:桌面右键-->显示设置-->关于
- PHP json_encode函数中需要注意的地方
在php中使用 json_encode() 内置函数可以使用得php中的数据更好的与其它语言传递与使用. 这个函数的功能是将数组转换成json数据存储格式: 1 <?php 2 $arr=arr ...
- router.go,router.push,router.replace的区别
除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现.当你点击 <router-link> 时,这个 ...
- nmap扫描验证多种漏洞
nmap在Kali Linux中是默认安装的.它不仅可以用来确定目标网络上计算机的存活状态,而且可以扫描各个计算机的操作系统.开放端口.服务,还有可能获得用户的证书. 命令结构: nmap -sS - ...
- The Little Prince-11/29
The Little Prince-11/29 The wheat fields have nothing to say to me. And that is sad. But you have ha ...
- (Linux)动态度的编写
动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一 ...
- 远程图片转化为base64
远程图片转化为base64 <?php /* * * 第一种方法 * 远程图片转化为base64,只支持http(推荐使用) * */ public static function imgUrl ...
- pycharm 安装激活操作
pycharm 安装激活操作 什么是 PyCharm PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管 ...
- [c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换
一.数据类型转换 #include<stdio.h> //某些场合,必须进行数据类型转换,以匹配调用 void main0(){ printf();//printf不管你是什么类型,解析失 ...