zoukankan      html  css  js  c++  java
  • JavaWeb分页-----PageBean.java

      1 package com.zzuli.util;
      2 
      3 import java.util.List;
      4 
      5 /**
      6  * PageBean类
      7  * @author hejjon
      8  * @date 2019年6月8日 下午2:18:50
      9  * @param <T>
     10  */
     11 public class PageBean<T> {
     12     private int size;                // 每页要显示的记录条数    指定默认为5
     13     private int index;                // 当前页号
     14     private int totalPageCount;        // 总页数
     15     private int totalCount;            // 记录总条数
     16     
     17     private int[] numbers;            // 展示页数的数组
     18     private List<T> list;            // 要显示到页面的数据集合
     19     
     20     /**
     21      * 获取起始下标
     22      * @return
     23      */
     24     public int getStartRow() {
     25         return (index - 1) * size;
     26     }
     27     
     28     /**
     29      * 获取结束下标
     30      * @return
     31      */
     32     public int getEndRow() {
     33         return index * size;
     34     }
     35 
     36     /**
     37      * 获取每页要显示的记录条数
     38      * @return
     39      */
     40     public int getSize() {
     41         return size;
     42     }
     43 
     44     /**
     45      * 设置每页要显示的记录条数
     46      * @param size
     47      */
     48     public void setSize(int size) {
     49         if (size > 0) {
     50             this.size = size;
     51         }
     52     }
     53 
     54     /**
     55      * 获取当前页号
     56      * @return
     57      */
     58     public int getIndex() {
     59         
     60         if (totalPageCount == 0) {
     61             return 0;
     62         }
     63         return index;
     64     }
     65 
     66     /**
     67      * 设置当前页号
     68      * @param index
     69      */
     70     public void setIndex(int index) {
     71         if (index > 0) {
     72             this.index = index;
     73         }
     74     }
     75 
     76     /**
     77      * 获取记录总条数
     78      * @return
     79      */
     80     public int getTotalCount() {
     81         return totalCount;
     82     }
     83 
     84     /**
     85      * 设置记录总条数
     86      * @param totalCount
     87      */
     88     public void setTotalCount(int totalCount) {
     89         if (totalCount > 0) {
     90             this.totalCount = totalCount;
     91             setTotalPageCountByRs();        // 根据总记录数计算总页数
     92         }
     93     }
     94 
     95     /**
     96      * 获取总页数
     97      * @return
     98      */
     99     public int getTotalPageCount() {
    100         return totalPageCount;
    101     }
    102 
    103 
    104     /**
    105      * 根据总记录条数计算总页数
    106      */
    107     private void setTotalPageCountByRs() {
    108         if (this.size > 0 && this.totalCount > 0 && this.totalCount % this.size == 0) {
    109             this.totalPageCount = this.totalCount / this.size;
    110         } else if (this.size > 0 && this.totalCount > 0 && this.totalCount % this.size > 0) {
    111             this.totalPageCount = this.totalCount / this.size + 1;
    112         } else {
    113             this.totalPageCount = 0;
    114         }
    115         // 设置展示页数数组
    116         setNumbers(totalPageCount);
    117     }
    118 
    119     /**
    120      * 获取展示页数的数组
    121      * @return
    122      */
    123     public int[] getNumbers() {
    124         return numbers;
    125     }
    126 
    127     /**
    128      * 设置展示页数的数组
    129      * @param numbers
    130      */
    131     public void setNumbers(int totalPageCount) {
    132         if (totalPageCount > 0) {
    133             // 当前数组长度
    134             int[] numbers = new int[totalPageCount > 10 ? 10 : totalPageCount];
    135             int k = 0;
    136             
    137             for (int i = 0; i < totalPageCount; i++) {
    138                 if ((i >= index - (numbers.length / 2 + 1) || i >= totalPageCount - numbers.length)
    139                         && k < numbers.length) {
    140                     numbers[k] = i + 1;
    141                     k++;
    142                 } else if (k >= numbers.length) {
    143                     break;
    144                 }
    145             }
    146             this.numbers = numbers;
    147         }
    148 
    149     }
    150 
    151     /**
    152      * 获取要显示到页面的数据集合
    153      * @return
    154      */
    155     public List<T> getList() {
    156         return list;
    157     }
    158 
    159     /**
    160      * 设置要显示到页面的数据集合
    161      * @param list
    162      */
    163     public void setList(List<T> list) {
    164         this.list = list;
    165     }
    166 }        // end PageBean
  • 相关阅读:
    synchronized底层实现学习
    [Alink漫谈之三] AllReduce通信模型
    Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构
    Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想
    [源码分析]从"UDF不应有状态" 切入来剖析Flink SQL代码生成 (修订版)
    从"UDF不应有状态" 切入来剖析Flink SQL代码生成
    [源码分析] 带你梳理 Flink SQL / Table API内部执行流程
    [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林
    [源码分析] 从FlatMap用法到Flink的内部实现
    Ceph 14.2.5-K8S 使用Ceph存储实战 -- <6>
  • 原文地址:https://www.cnblogs.com/hejjon/p/10991800.html
Copyright © 2011-2022 走看看