- 浏览: 33189 次
- 性别:
- 来自: 承德
-
最新评论
-
zq726726:
请问 如果用spring 的话 怎么加配置???
Hibernate通用Dao设计。 -
woshihongshua:
一个自己写的图像操作包,实现了验证码识别等很多功能。 -
azure2a:
还真没试过,不过可以用上面的代码试试,不然估计要用图片二值化等 ...
趣味编程,利用zxing包设计QR码编码和解码程序。 -
qalong:
想问一下,如果QR的图片不清晰的时候,可以正常的解析吗?
趣味编程,利用zxing包设计QR码编码和解码程序。 -
lshoo:
JPA2的资料好啊!
学习Hibernate映射必读,JavaOne2009-JPA2映射的神秘之旅。
package util.page;
import java.util.ArrayList;
import java.util.List;
public class PaginationUtil {
public static final int PAGENUMBER=1;
public static final int MAXRESULTS=10;
public static final int INTERVAL=3;
public static final int FIXEDINTERVAL=3;
public static final int SORT=0;
private int rowCount; //总结果数
private int maxResults; //每页的结果数
private int pageNumber; //当前页数
private int fixedInterval; //固定的起始结束页数
private int interval; //活动的页数
private int sort; //排序方式
private boolean end; //是否结尾
private boolean first; //是否开始
private List records; //记录
public PaginationUtil(int rowCount,int pageNumber,int maxResults){
setMaxResults(maxResults);
setRowCount(rowCount);
setPageNumber(pageNumber);
fixedInterval=FIXEDINTERVAL;
interval=INTERVAL;
sort=SORT;
}
/**
*
* @param pageNumber 页数
* @param fixedInterval 最前最后用于显示的页数
* @param interval 页数往后显示几页
* @param maxResults 每页的记录数
* @param rowCount 总记录数
* @param sort 排序
*/
public PaginationUtil(int pageNumber,int fixedInterval,int interval,int maxResults,int sort,int rowCount){
setMaxResults(maxResults);
setRowCount(rowCount);
setFixedInterval(fixedInterval);
setInterval(interval);
setSort(sort);
setPageNumber(pageNumber);
}
/**
* 设置和取得总记录数
* @return
*/
public int getRowCount() {
return rowCount;
}
public void setRowCount(int rowCount) {
this.rowCount = rowCount;
}
/**
* 设定活动页数
* @return
*/
public int getInterval() {
return interval;
}
public void setInterval(int interval) {
this.interval = interval;
}
/**
* 设定固定页数
* @return
*/
public int getFixedInterval() {
return fixedInterval;
}
public void setFixedInterval(int fixedInterval) {
this.fixedInterval = fixedInterval;
}
/**
* 用于取得第一个记录
* @return
*/
public int getFirstResult() {
int first=(pageNumber-1)*maxResults;
if(first>-1)return first;
return 0;
}
/**
* 设置和取得总记录数
* @return
*/
public int getMaxResults() {
return maxResults;
}
public void setMaxResults(int maxResults) {
this.maxResults = maxResults;
}
/**
* 用于取得当前的页数
* @return
*/
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
if(pageNumber<1)
this.pageNumber=1;
else if(pageNumber>getPages())
this.pageNumber=getPages();
else
this.pageNumber = pageNumber;
}
/**
*
* 取得前一页
* @return
*/
public int getPrevious() {
if(pageNumber<2)
return 1;
return pageNumber-1;
}
/**
* 取得后一页
* @return
*/
public int getNext() {
if(pageNumber>=getPages())
return getPages();
return pageNumber+1;
}
/**
* 取得总页数
* @return
*/
public int getPages() {
if(rowCount%maxResults==0)return rowCount/maxResults;
return rowCount/maxResults+1;
}
/**
* 取得排序的方式
* @return
*/
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
/**
* 判断是否是最后一页和第一页
* @return
*/
public boolean isEnd() {
end=getPageNumber()>=getPages();
return end;
}
public boolean isFirst() {
first=getPageNumber()<=1;
return first;
}
/**
* 取得一个页码的索引,按照给出的固定页数和增加页数以及当前页数算出一个数组,-1代表跨过可以在表现层写"..."。
* @return
*/
public Integer[] getPageIndex() {
int pages=getPages();
if(fixedInterval>=pages){
System.out.println("-1-");
return makeArray(1,pages);
}
else if((2*fixedInterval)>=pages){
System.out.println("-2-");
return makeArray(1,pages);
}else if((pageNumber+interval)<=fixedInterval){
System.out.println("-3-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}else{
if(pageNumber>pages-fixedInterval){
System.out.println("-4-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}
if(pageNumber>fixedInterval&&pageNumber<=(pages-fixedInterval)){
System.out.println("-5-");
if((pageNumber+interval)<pages-fixedInterval+1){
System.out.println("-5-1-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pageNumber,pageNumber+interval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}
else{
System.out.println("-5-2-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pageNumber,pages));
return result.toArray(new Integer[0]);
}
}
if(pageNumber<=fixedInterval){
System.out.println("-6-");
if((pageNumber+interval)>(pages-fixedInterval+1)){
System.out.println("-6-1-");
return makeArray(1,pages);
}
else{
System.out.println("-6-2-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}
}
}
return makeArray(1,pages);
}
/**
* 建立一个顺序的数组
* @param start 起始数
* @param end 结束数
* @return
*/
public static Integer[] makeArray(int start,int end){
Integer[] array=new Integer[end-start+1];
for(int i=0;i<=end-start;i++){
array=i+start;
}
return array;
}
/**
* 建立一个顺序的列表
* @param start 起始数
* @param end 结束数
* @return
*/
public static List<Integer> makeList(int start,int end){
List<Integer> list=new ArrayList<Integer>();
for(int i=0;i<=end-start;i++){
list.add(i+start);
}
return list;
}
/**
* 加入记录集
* @return
*/
public List getRecords() {
return records;
}
public void setRecords(List records) {
this.records = records;
}
/**
* 显示所有的数据。
* @return
*/
public String toString(){
return
" interval:"+getInterval()+
" fixedInterval:"+getFixedInterval()+
" pages:"+getPages()+
" pageNumber:"+getPageNumber()+
" rowCount:"+getRowCount()+
" firstResult:"+getFirstResult()+
" maxResults:"+getMaxResults()+
" previous:"+getPrevious()+
" next:"+getNext()+
" sort:"+getSort()+
" end:"+isEnd()+
" first:"+isFirst();
}
public static void main(String[] args){
PaginationUtil page=new PaginationUtil(72,1,5);
for(int i=1;i<=15;i++){
page.setPageNumber(i);
System.out.print(i+":");
for(int i1:page.getPageIndex()){
System.out.print(i1+"_");
}
System.out.println();
}
}
}
import java.util.ArrayList;
import java.util.List;
public class PaginationUtil {
public static final int PAGENUMBER=1;
public static final int MAXRESULTS=10;
public static final int INTERVAL=3;
public static final int FIXEDINTERVAL=3;
public static final int SORT=0;
private int rowCount; //总结果数
private int maxResults; //每页的结果数
private int pageNumber; //当前页数
private int fixedInterval; //固定的起始结束页数
private int interval; //活动的页数
private int sort; //排序方式
private boolean end; //是否结尾
private boolean first; //是否开始
private List records; //记录
public PaginationUtil(int rowCount,int pageNumber,int maxResults){
setMaxResults(maxResults);
setRowCount(rowCount);
setPageNumber(pageNumber);
fixedInterval=FIXEDINTERVAL;
interval=INTERVAL;
sort=SORT;
}
/**
*
* @param pageNumber 页数
* @param fixedInterval 最前最后用于显示的页数
* @param interval 页数往后显示几页
* @param maxResults 每页的记录数
* @param rowCount 总记录数
* @param sort 排序
*/
public PaginationUtil(int pageNumber,int fixedInterval,int interval,int maxResults,int sort,int rowCount){
setMaxResults(maxResults);
setRowCount(rowCount);
setFixedInterval(fixedInterval);
setInterval(interval);
setSort(sort);
setPageNumber(pageNumber);
}
/**
* 设置和取得总记录数
* @return
*/
public int getRowCount() {
return rowCount;
}
public void setRowCount(int rowCount) {
this.rowCount = rowCount;
}
/**
* 设定活动页数
* @return
*/
public int getInterval() {
return interval;
}
public void setInterval(int interval) {
this.interval = interval;
}
/**
* 设定固定页数
* @return
*/
public int getFixedInterval() {
return fixedInterval;
}
public void setFixedInterval(int fixedInterval) {
this.fixedInterval = fixedInterval;
}
/**
* 用于取得第一个记录
* @return
*/
public int getFirstResult() {
int first=(pageNumber-1)*maxResults;
if(first>-1)return first;
return 0;
}
/**
* 设置和取得总记录数
* @return
*/
public int getMaxResults() {
return maxResults;
}
public void setMaxResults(int maxResults) {
this.maxResults = maxResults;
}
/**
* 用于取得当前的页数
* @return
*/
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
if(pageNumber<1)
this.pageNumber=1;
else if(pageNumber>getPages())
this.pageNumber=getPages();
else
this.pageNumber = pageNumber;
}
/**
*
* 取得前一页
* @return
*/
public int getPrevious() {
if(pageNumber<2)
return 1;
return pageNumber-1;
}
/**
* 取得后一页
* @return
*/
public int getNext() {
if(pageNumber>=getPages())
return getPages();
return pageNumber+1;
}
/**
* 取得总页数
* @return
*/
public int getPages() {
if(rowCount%maxResults==0)return rowCount/maxResults;
return rowCount/maxResults+1;
}
/**
* 取得排序的方式
* @return
*/
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
/**
* 判断是否是最后一页和第一页
* @return
*/
public boolean isEnd() {
end=getPageNumber()>=getPages();
return end;
}
public boolean isFirst() {
first=getPageNumber()<=1;
return first;
}
/**
* 取得一个页码的索引,按照给出的固定页数和增加页数以及当前页数算出一个数组,-1代表跨过可以在表现层写"..."。
* @return
*/
public Integer[] getPageIndex() {
int pages=getPages();
if(fixedInterval>=pages){
System.out.println("-1-");
return makeArray(1,pages);
}
else if((2*fixedInterval)>=pages){
System.out.println("-2-");
return makeArray(1,pages);
}else if((pageNumber+interval)<=fixedInterval){
System.out.println("-3-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}else{
if(pageNumber>pages-fixedInterval){
System.out.println("-4-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}
if(pageNumber>fixedInterval&&pageNumber<=(pages-fixedInterval)){
System.out.println("-5-");
if((pageNumber+interval)<pages-fixedInterval+1){
System.out.println("-5-1-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pageNumber,pageNumber+interval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}
else{
System.out.println("-5-2-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pageNumber,pages));
return result.toArray(new Integer[0]);
}
}
if(pageNumber<=fixedInterval){
System.out.println("-6-");
if((pageNumber+interval)>(pages-fixedInterval+1)){
System.out.println("-6-1-");
return makeArray(1,pages);
}
else{
System.out.println("-6-2-");
ArrayList<Integer> result=new ArrayList<Integer>();
result.addAll(makeList(1,fixedInterval));
result.add(-1);
result.addAll(makeList(pages-fixedInterval+1,pages));
return result.toArray(new Integer[0]);
}
}
}
return makeArray(1,pages);
}
/**
* 建立一个顺序的数组
* @param start 起始数
* @param end 结束数
* @return
*/
public static Integer[] makeArray(int start,int end){
Integer[] array=new Integer[end-start+1];
for(int i=0;i<=end-start;i++){
array=i+start;
}
return array;
}
/**
* 建立一个顺序的列表
* @param start 起始数
* @param end 结束数
* @return
*/
public static List<Integer> makeList(int start,int end){
List<Integer> list=new ArrayList<Integer>();
for(int i=0;i<=end-start;i++){
list.add(i+start);
}
return list;
}
/**
* 加入记录集
* @return
*/
public List getRecords() {
return records;
}
public void setRecords(List records) {
this.records = records;
}
/**
* 显示所有的数据。
* @return
*/
public String toString(){
return
" interval:"+getInterval()+
" fixedInterval:"+getFixedInterval()+
" pages:"+getPages()+
" pageNumber:"+getPageNumber()+
" rowCount:"+getRowCount()+
" firstResult:"+getFirstResult()+
" maxResults:"+getMaxResults()+
" previous:"+getPrevious()+
" next:"+getNext()+
" sort:"+getSort()+
" end:"+isEnd()+
" first:"+isFirst();
}
public static void main(String[] args){
PaginationUtil page=new PaginationUtil(72,1,5);
for(int i=1;i<=15;i++){
page.setPageNumber(i);
System.out.print(i+":");
for(int i1:page.getPageIndex()){
System.out.print(i1+"_");
}
System.out.println();
}
}
}
发表评论
-
Hibernate通用Dao设计。
2011-07-19 16:15 3236hibernate的通用Dao简化了程序,增加了开发过程, ... -
趣味编程,利用zxing包设计QR码编码和解码程序。
2011-04-20 23:03 24921、什么是RQ码? QR码是二维条码的一种,1994年由日 ... -
利用JEXL实现实时执行对象方法。
2011-02-14 16:50 1397使用情况:有时候我们在编译时并不知道可能执行什么方法,或者我们 ... -
cglib实现无接口代理
2011-02-13 22:52 1911使用情况:有时候我们需要为一个类建立代理对象,当执行原类的 ... -
学习Hibernate映射必读(二),JavaOne2009-JPA2新特征。
2011-02-10 19:46 1012JavaOne2009-JPA2新特征介绍了JPA2的一些 ... -
Extjs Grid 带分页多选时的某种解决方案。
2011-02-10 19:42 4231使用情况:使用Extjs的Grid时使用远程分页时有一个问 ... -
学习Hibernate映射必读,JavaOne2009-JPA2映射的神秘之旅。
2011-02-07 12:51 949JavaOne2009-JPA2映射的神秘之旅,学习Hib ... -
使用HTMLPARSER和HTTPCLIENT制作网络爬虫,附赠相关技术文档。
2011-02-06 17:05 2028利用HTMLPARSER和HTTPCLIENT制作的网络爬 ... -
Java模式速查手册
2011-02-05 16:22 1169自己按照阎宏《Java与模 ... -
一个自己写的图像操作包,实现了验证码识别等很多功能。
2011-02-05 00:03 2063自己设计的图像操作包,实现很多功能。 包括三个类。 一、Ima ... -
一个文件操作类。
2009-12-12 14:21 317一个文件操作类,使用 ... -
循环链表
2009-11-13 09:54 58Java与算法的课后题,实现一个循环链表。 public c ... -
JAVA与模式读书笔记。
2009-10-06 11:08 127JAVA与模式读书笔记,自己读Java与模式时总结的书上的一些 ... -
呵呵,基础知识复习-类加载顺序。
2009-09-29 09:36 76有些基础知识其实自己也是很模糊,老是搞不清,比如一个类里的 ... -
自己设计的简单的验证框架。
2009-09-25 12:07 149自己设计的一个简单的验证框架,参照SpringSecrity。 ... -
cglib实现无接口代理
2009-09-24 11:29 182代理类。 package util.proxy; impor ... -
自己做的一组字符串操作方法,可能会用上。
2009-09-24 11:29 1078不过都是用的String效率可能不太高。 package ut ... -
用javamail发邮件
2009-09-24 11:26 1118利用javamail发邮件,可以发送普通邮件,带附件和图片的邮 ... -
图片的操作。
2009-09-24 11:25 110图片的操作类,实现剪切,缩放,旋转,水印,滤镜,未完成,有兴趣 ... -
线程池实现网络抓取器.
2009-09-24 11:24 54利用线程池实现的网络抓取工具,相似于google的功能,当然可 ...
相关推荐
这个"Page"分页类的实现可能包括以下几个核心组件: 1. **初始化**:类的构造函数接收必要的参数,如总记录数、每页显示的条目数、当前页数等,用于计算总的页数和其他相关属性。 2. **计算总页数**:根据总记录数...
2. **实例化分页类**:将查询结果总数和每页记录数传递给分页类。 3. **设置当前页**:根据URL或请求参数设定当前页码。 4. **获取分页数据**:调用分页类的方法获取当前页的数据。 5. **渲染页面**:根据获取的...
"asp分页类"就是用来实现这种功能的代码库或组件。 分页类通常包含以下几个核心知识点: 1. **参数处理**:分页类需要接收一些参数,如当前页码、每页显示条目数、总记录数等。这些参数的正确处理是分页功能的基础...
强大的分页类通常会考虑更多的实际需求,比如排序、过滤条件、统计信息等,并且可能具有高度可配置性,以适应不同的项目需求。 最后,"分页.rar"可能包含的是一个独立的分页解决方案,可能具有特定的优化或特性。...
ASP.NET 分页类是用于处理大量数据并分批次显示的关键技术,它允许用户在Web应用程序中轻松地浏览大型数据集,提高用户体验,并减轻服务器负担。相比于Visual Studio (VS) 自带的分页控件,自定义分页类提供了更高的...
首先,我们需要创建一个分页类,这个类将包含关于分页的基本信息,如当前页、总页数、每页显示的记录数以及总记录数等。以下是一个简单的分页类的示例: ```java public class Pagination { private int current...
一个分页类通常包含获取总记录数、设置每页显示条数、计算总页数、生成分页链接等功能。例如,可以设计一个简单的分页类: ```php class Pagination { private $total_rows; private $per_page; private $...
"高效asp分页类"就是针对这种情况设计的,旨在处理大数据集时保持快速响应,避免页面加载过慢或服务器压力过大。 高效asp分页类的核心在于优化了数据检索和页面渲染的过程,通常包括以下几个关键点: 1. **数据...
### PHP超强分页类知识点详解 #### 一、概述 “PHP超强分页类”是一款专为PHP开发人员设计的强大工具,旨在简化分页逻辑,提高网页应用的用户体验。该类支持多种显示模式,能够适应不同的场景需求,并且兼容PHP4和...
- **属性**:分页类通常会包含一些属性,如当前页码(currentPage)、每页显示条数(perPage)、总记录数(totalRows)以及总页数(totalPages)等。 - **方法**:分页类的方法包括设置和获取属性值,计算总页数,...
下面将详细介绍分页类的工作原理、如何使用以及相关数据库操作。 首先,PHP分页类的核心功能是计算总页数、生成链接和获取每页的数据。它通常包括以下主要部分: 1. 计算总页数:根据查询语句获取所有记录的数量,...
`说明.txt`是关键的文档,它应该包含了详细的使用指南,包括如何引入分页类、如何配置参数、如何调整样式以及可能出现的问题和解决方案。开发者应仔细阅读这份文档,以便正确地集成和使用这个分页类。 总的来说,这...
这篇压缩包文件"aspfenyelei_asp"很可能包含了一个详细的ASP分页类,这种类通常包含了一系列方法和属性,用于实现高效的分页功能。下面我们将深入探讨ASP分页的相关知识点。 1. **基础概念**:在ASP中,分页涉及到...
在ASP(Active Server Pages)开发中,静态生成分页类是一种常见的优化技术,它能够提高网站性能,降低服务器负载,并且对于搜索引擎优化(SEO)也十分有利。ASP静态生成分页类主要是为了处理大量数据的展示,将动态...
以上代码示例中,`Pagination`就是我们的分页类,它封装了分页逻辑,使得在实际项目中应用分页变得简单易行。通过深入理解并定制此类,我们可以应对各种复杂的分页需求,如自定义URL结构、添加翻页动画、支持无限...
名称: 叶子asp分页类 Name: ShowoPage(vbs class) RCSfile: ReadMe.txt Revision: 0.12.20051114.f Author: Yehe(叶子) Released: 2005-11-14 09:40:13 Descript: ASP分页类,支持access/mssql/mysql/sqlite ...
2. **实例化分页类**:创建一个分页类的对象,传入必要的参数,如总记录数、每页显示的条目数等。 ```php $total_records = count($all_data); // 假设$all_data是所有数据 $per_page = 20; // 每页显示20条数据 $...
"基于Servlet的抽象分页类"通常是指一个设计用于协助在Web应用中实现数据分页功能的类。分页是大型数据集展示时必要的功能,它帮助用户更有效地浏览和管理大量的信息,而无需一次性加载所有数据,提高了用户体验和...
`asp.net 通用分页类`就是为了解决这个问题而设计的,它允许开发者创建一个可复用的组件,以便在不同的数据展示页面上实现高效且灵活的分页功能。 首先,我们来看`C#`语言是如何实现分页逻辑的。在C#中,可以创建一...
描述中提到“无需调试,没有繁琐的页面样式设置”,这表明这个分页类已经考虑到了易用性和灵活性。它可能包含了内置的样式,可以直接嵌入到现有的页面布局中,同时也可能允许自定义样式,以适应各种前端框架。 接...