Java分页类 Page
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Iterator;
import java.util.List; import net.sf.json.JSONObject; /**
* 分页类
* @author rubekid
*
* @param <T>
*/
public class Page<T> extends QueryParameter { public static final int PAGE_SIZE = 20;
private List<T> result = null;
private long totalCount = -1;
private JSONObject queryParams = new JSONObject(); public Page() {
setPageSize(PAGE_SIZE);
} public Page(int pageSize) {
setPageSize(pageSize);
} public Page(int pageSize, boolean autoCount) {
setPageSize(pageSize);
this.autoCount = autoCount;
} /**
* 获取反向排序
* @return
*/
public String getInverseOrder() {
if (order.endsWith("desc")){
return "asc";
}
return "desc";
} public List<T> getResult() {
return result;
} public void setResult(List<T> result) {
this.result = result;
} public long getTotalCount() {
return this.totalCount;
} public void setTotalCount(long totalCount) {
this.totalCount = totalCount;
} public long getTotalPages() {
if (totalCount < 0){
return -1;
} long count = totalCount / pageSize;
if (totalCount % pageSize > 0){
count ++;
}
return count;
} public boolean isHasNext() {
return (pageNo + 1 <= getTotalPages());
} public int getNextPage() {
if (isHasNext()){
return pageNo + 1;
}
return this.pageNo;
} public boolean isHasPre() {
return (pageNo - 1 >= 1);
} public int getPrePage() {
if (isHasPre()){
return pageNo - 1;
}
return pageNo;
} public void addQueryParam(String key, Object value) {
queryParams.put(key, value);
} @SuppressWarnings("unchecked")
public String getQueryString() throws UnsupportedEncodingException{
String result = "";
for (Iterator<String> iterator = queryParams.keys(); iterator.hasNext();) {
String key = iterator.next();
result += key + "=" + URLEncoder.encode(queryParams.getString(key), "utf-8") + "&";
} if (result.length() > 0){
result = result.substring(0, result.length() - 1);
}
return result;
} public String getQueryParamString() {
return queryParams.toString();
} public void setQueryString(String queryString) {
queryParams = JSONObject.fromObject(queryString);
} public JSONObject getQueryParams() {
return queryParams;
}
}
Java分页类 Page的更多相关文章
- (转)ThinkPHP使用心得分享-分页类Page的用法
转之--http://www.jb51.net/article/50138.htm ThinkPHP中的Page类在ThinkPHP/Extend/Library/ORG/Util/Page.clas ...
- PHP通用分页类page.php[仿google分页]
<?php /** ** 通用php分页类.(仿Google样式) ** 只需提供记录总数与每页显示数两个参数.(已附详细使用说明..) ** 无需指定URL,链接由程序生成.方便用于检索结果分 ...
- java - 分页类
pager.java package com.jspnews.util; import java.io.Serializable; import java.util.List; /** * * < ...
- page分页类
<?php /** file: Page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...
- [Java] 一种好的JAVA分页实现
喃都不说了,贴代码,意思都在代码里面了 Page.java //分页类.定义分页字段信息,供前台页面使用 package com.core.common; import java.util.List; ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- php 简单分页类
/** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...
- php部分---一个分页类、用法
1.分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...
- PHP+jQuery 列表分页类 ( 支持 url 分页 / ajax 分页 )
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8.3.mi ...
随机推荐
- php常用的排序算法与二分法查找
一 : 归并排序 将两个的有序数列合并成一个有序数列,我们称之为"归并".归并排序(Merge Sort)就是利用归并思想对数列进行排序.根据具体的实现,归并排序包括"从 ...
- centos git 升级应用
在阿里云服务器上部署Git 升级centos 自带的Git yum库自带版本为git1.7.1-3.el6_4.1. -------------------升级-------------------- ...
- java学用代码
/** *Java获取IP代码 */ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.ev ...
- Python报错:SyntaxError: Non-ASCII character '\xe5' in file的解决方法
SyntaxError: Non-ASCII character '\xe5' in file 原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他的 ...
- 嵌入式学习笔记(虚拟机共享文件夹配置-Ubuntu系统中)
最近在学习Linux的操作系统,使用的是虚拟机.由于一些文件需要在主机和虚拟机中都要编辑,如果可以使得文件共享,可以极大的提高工作效率! 配置共享文件的步骤如下: [第一步] 在虚拟机软件中设置 [第 ...
- Scut 进阶:网络模型拓扑
处理消息流程: 关于是否能用 json 串作为 response? 在最后写消息的时候要加上控制选项,将Response类型,事直接以字节流,还是转json串再转字节流的方式进行编码了,如果要转jso ...
- 你以为PHP那么好自定义升级?
X,PHP如果只是安装操作系统之后,YUM INSTALL之后就可以使用最好啦. 但如果YUM安装的官方PHP版本太低怎么办? 据我所知,现在也只是到PHP5.3.3版本,如果APP应用需要PHP5. ...
- 《简明python教程》学习笔记,长文
引号: 单引号:如果包含的字符串里有单引号的话,需要在那个单引号里加转义符号,或者使用双引号 例:print 'he"llo' or print 'he\'llo' ===> h ...
- C51指针小结
一. 指针变量的定义 指针变量定义与一般变量的定义类似,其形式如下: 数据类型 [存储器类型1] * [存储器类型2] 标识符: [存储器类型1] 表示被定义为基于存储器的指针.无此选项时,被定义为一 ...
- 理解和使用NT驱动程序的执行上下文
理解Windows NT驱动程序最重要的概念之一就是驱动程序运行时所处的“执行上下文”.理解并小心地应用这个概念可以帮助你构建更快.更高效的驱动程序. NT标准内核模式驱动程序编程的一个重要观念是某个 ...