- 浏览: 155143 次
- 性别:
- 来自: 球面世界
最新评论
-
zhang_yi_yi:
...
Java常用方法使用心得 -
yeshuang:
不错,希望以后多多介绍一些
Java常用方法使用心得 -
tiansong163:
我用这个怎么不行呢?
jsp实现文件下载与中文文件名乱码问题解决 -
lshhjxlj:
Yes,it very good!
Java常用方法使用心得 -
jaja_jaja:
有错误,web.xml里少了servlet-mapping部分 ...
对log4j初始化并设置log文件的存放路径
最近看了 robbin等大侠写的分页代码,深有感触
虽然自己也写过分页,但是在代码的分离方面作的还是不够,尝试按照他们的方法改了下
java 代码
- package cn.feigme.pagination;
- import java.util.List;
- /**
- * @author feigme
- */
- public class PaginationSupport {
- //默認頁面顯示紀錄的數目
- public final static int PAGESIZE = 10;
- //頁面實際顯示的紀錄數目
- private int pageSize = PAGESIZE;
- //頁面上的索引數
- private int pageIndexCount = 5;
- //總頁數
- private int pageCount ;
- //紀錄實例集合
- private List items;
- //總紀錄數
- private int totalCount;
- //保存當前索引的紀錄數
- private int[] indexs = new int[0];
- //紀錄起始位
- private int startIndex = 1;
- /*********************構造函數*************************/
- //兩參數的構造函數
- public PaginationSupport(List items,int totalCount){
- setPageSize(PAGESIZE);
- setTotalCount(totalCount);
- setItems(items);
- setStartIndex(1);
- }
- //三參數的構造函數
- public PaginationSupport(List items,int totalCount,int startIndex){
- setPageSize(PAGESIZE);
- setTotalCount(totalCount);
- setItems(items);
- setStartIndex(startIndex);
- }
- //四條件的構造函數
- public PaginationSupport(List items,int totalCount,int startIndex,int pageSize){
- setPageSize(pageSize);
- setTotalCount(totalCount);
- setItems(items);
- setStartIndex(startIndex);
- }
- //五條件的構造函數
- public PaginationSupport(List items,int totalCount,int startIndex,int pageSize,int pageIndexCount){
- setPageIndexCount(pageIndexCount);
- setPageSize(pageSize);
- setTotalCount(totalCount);
- setItems(items);
- setStartIndex(startIndex);
- }
- /***********************get set方法**************************/
- public int[] getIndexs() {return indexs;}
- public void setIndexs(int[] indexs) {this.indexs = indexs;}
- public List getItems() {return items;}
- public void setItems(List items) {this.items = items;}
- public int getPageSize() {return pageSize;}
- public void setPageSize(int pageSize) {this.pageSize = pageSize;}
- public int getStartIndex() {return startIndex;}
- public void setStartIndex(int startIndex) {
- if(startIndex >= this.pageCount) this.startIndex = this.pageCount;
- else if(startIndex<=0) this.startIndex = 1;
- else this.startIndex = startIndex;
- if(getPageIndexCount()>this.pageCount){
- setPageIndexCount(this.pageCount);
- }
- indexs = new int[getPageIndexCount()];
- int istart = this.startIndex-getPageIndexCount()/2+(getPageIndexCount()%2>0?0:1);;
- int iend = this.startIndex+getPageIndexCount()/2;
- if(istart<=0){
- istart =1;
- iend = getPageIndexCount();
- }
- if(iend>this.pageCount){
- iend = this.pageCount;
- istart = this.pageCount - getPageIndexCount()+1;
- }
- for (int i = 0; i < iend-istart+1; i++) {
- indexs[i]= istart+i;
- }
- }
- public int getTotalCount() {return totalCount;}
- public void setTotalCount(int totalCount) {
- if(totalCount>0){
- this.totalCount = totalCount;
- this.pageCount = totalCount/pageSize + (totalCount%pageSize>0?1:0);
- }else{
- this.totalCount = 0;
- }
- }
- public int getPageCount() {return pageCount;}
- public void setPageCount(int pageCount) {this.pageCount = pageCount ;}
- public int getPageIndexCount() {return pageIndexCount;}
- public void setPageIndexCount(int pageIndexCount) {this.pageIndexCount = pageIndexCount;}
- //下一頁
- public int getNextIndex() {
- int nextIndex = getStartIndex() + 1;
- if (nextIndex > pageCount)
- return pageCount;
- else
- return nextIndex;
- }
- //上一頁
- public int getPreviousIndex() {
- int previousIndex = getStartIndex() - 1;
- if (previousIndex <= 0)
- return 1;
- else
- return previousIndex;
- }
- //第一頁
- public int getFirstIndex(){
- return 1;
- }
- //最後一頁
- public int getLastIndex(){
- return getPageCount();
- }
- }
做了个简单的测试
java 代码
- public static void main(String[] args) {
- List items = new ArrayList();
- for (int i = 0; i < 10; i++) {
- items.add("------------->" + i);
- }
- int totalCount = 105;
- int pageSize = 10;
- int startIndex = 11;
- int pageIndexCount = 6;
- PaginationSupport ps = new PaginationSupport(items, totalCount,
- startIndex, pageSize, pageIndexCount);
- for (int i = 0; i < ps.getItems().size(); i++) {
- System.out.println(ps.getItems().get(i));
- }
- System.out.println("共有" + ps.getTotalCount() + "條紀錄");
- System.out.println("當前第" + ps.getStartIndex() + "頁");
- System.out.println("共" + ps.getPageCount() + "頁");
- System.out.println("第一頁" + ps.getFirstIndex());
- System.out.println("上一頁" + ps.getPreviousIndex());
- for (int i = 0; i < ps.getIndexs().length; i++) {
- System.out.println(ps.getIndexs()[i]);
- }
- System.out.println("下一頁" + ps.getNextIndex());
- System.out.println("最後一頁" + ps.getLastIndex());
- }
发表评论
-
Maven2上路
2008-06-24 21:49 2889虽然公司仍然使用ant,但自己还是尝试使用了下Maven2 网 ... -
Properties读取类
2007-12-12 22:44 3434一个properties常用类,以前收藏的 java 代码 ... -
对log4j初始化并设置log文件的存放路径
2007-12-12 22:32 10540利用servlet初始化时配置log的存放位置 java 代码 ... -
Eclipse常用快捷键(收藏)
2007-12-10 14:43 1559Eclipse常用的快捷键 Ctrl+1 快速修复(最经典的快 ... -
Java常用方法使用心得
2007-12-10 14:29 9284不断完善中ing . . . java. ... -
一个通用时间类
2007-12-10 14:14 1399引自:http://www.busfly.cn/post/ja ... -
HashCode 理解测试
2007-11-01 14:15 1707java 代码 public class Has ... -
BIRT之使用历程
2007-10-26 16:13 6301BIRT的易使用性及强大,成为项目的首选 在download. ... -
[转]一个泛型Hibernate DAO实现
2007-10-20 10:03 7489java 代码 package sgf4web. ... -
试刀——DynamicProxy
2007-10-07 00:53 1299Dynamic Proxy是这样一种class:它是在运行时生 ... -
Spring与Hibernate Annotation的实现
2007-08-29 01:27 8110最近实现了Spring2.0 Hibernate3.2 ... -
spring_hibernate_annotation的三种实现
2007-08-23 15:21 1739xml 代码 <!--第一种 ====== ... -
一个动态的model
2007-08-10 11:17 1244java 代码 import java.uti ... -
让人迷糊的interface和abstract
2007-08-10 09:57 1304最近在做公司的一个项 ... -
jdk5.0 新用法
2007-08-03 19:40 1468JDK5.0 有SuppressWarnings,De ... -
用jsp写的日历
2007-07-16 14:38 1566觉得日历不应该要那么麻烦 为什么发上来的代码那么难看。。。只能 ... -
好文章锦集
2007-07-03 21:56 1100dao + hibernate 设计 http://www.i ... -
解决web开发中的中文问题
2006-08-09 09:41 1232这段时间经常看到有人问到web开发中怎么中文总是?号。原因其实 ... -
jsp实现文件下载与中文文件名乱码问题解决
2006-08-10 16:36 5131之前,写过一个Download.jsp文件,可以解决下载文件乱 ... -
struts 实现文件上传与下载
2007-04-18 19:13 3551/****************************** ...
相关推荐
Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类
page.java java分页工具类
"java分页工具类" Java分页工具类是Java语言中的一种常用工具类,用于实现分页功能。下面是该工具类的详细知识点: 1. 分页工具类的作用 分页工具类的主要作用是将大量数据分页显示,以便用户更方便地浏览和操作...
提供一个可以公用的分页工具类,适用于各种分页
在ASP(Active Server Pages)环境中,实现分页功能通常需要编写自定义的分页类。下面我们将详细探讨ASP分页的原理、分页类的构建以及如何在实际项目中应用。 首先,理解分页的基本原理。分页的核心思想是通过限制...
本文将深入探讨一个名为"Mvc分页辅助类"的知识点,这个辅助类是一个已经完全封装好的工具,可以直接在项目中使用。 标题中的"Mvc分页辅助类"指的是一个专门用于实现ASP.NET MVC应用程序中分页功能的类库。它通常...
在IT领域,分页工具类是数据库操作和Web开发中常用的一种组件,它主要用于处理大量数据的展示,避免一次性加载所有数据导致的性能问题。在实际应用中,分页可以帮助用户更加高效地浏览和管理信息,提高用户体验。...
这是一个功能强大,并且易于扩展的分页类,该类将分页的各个元素单独分开模块化,用户可以随心所欲的拼接出自己想要的分页效果,更是添加了控制分页样式的功能,可以让你独立设置分页各元素的样式,也集成了集中已经...
2. **实例化分页类**:将查询结果总数和每页记录数传递给分页类。 3. **设置当前页**:根据URL或请求参数设定当前页码。 4. **获取分页数据**:调用分页类的方法获取当前页的数据。 5. **渲染页面**:根据获取的...
根据实现机制的不同,常见的Java分页技术可以分为两大类: - **客户端分页**:通过JavaScript等前端技术实现在浏览器端对数据进行分页展示。这种方式简单易行,但可能会导致大量的数据在网络上传输。 - **服务端...
这个"Page"分页类的实现可能包括以下几个核心组件: 1. **初始化**:类的构造函数接收必要的参数,如总记录数、每页显示的条目数、当前页数等,用于计算总的页数和其他相关属性。 2. **计算总页数**:根据总记录数...
"e路JS分页样式类"是一个专门针对JavaScript实现的分页样式库,它提供了美观的界面和友好的用户体验。在这个主题中,我们将深入探讨JavaScript分页的实现原理、设计模式以及如何利用CSS来定制样式。 首先,...
java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类
公共的Pager分页实体类,封装一些常规方法,可直接使用。
### Java分页工具类及其在Struts、Spring、MyBatis和JSP中的应用 #### 一、Java分页概述 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来展示大量的数据记录。本文将详细介绍一个...
ASP.NET 分页类是用于处理大量数据并分批次显示的关键技术,它允许用户在Web应用程序中轻松地浏览大型数据集,提高用户体验,并减轻服务器负担。相比于Visual Studio (VS) 自带的分页控件,自定义分页类提供了更高的...
"asp分页类"就是用来实现这种功能的代码库或组件。 分页类通常包含以下几个核心知识点: 1. **参数处理**:分页类需要接收一些参数,如当前页码、每页显示条目数、总记录数等。这些参数的正确处理是分页功能的基础...
`Page_Pro`可能是一个实现了分页功能的Java类或模块,包含了具体的分页算法和接口调用。 总的来说,本项目通过SSH框架的集成,实现了高效的后端业务处理。通过创建分页抽象类,我们优化了代码结构,提高了代码复用...
本资源提供了“强大的分页实体类(page.java)”和“分页页面代码(page.jsp)”,这两个文件旨在简化分页实现过程,通过详细注释确保开发者能够快速理解和应用。 首先,我们来详细了解一下`page.java`。这是一个...
首先,我们需要创建一个分页类,这个类将包含关于分页的基本信息,如当前页、总页数、每页显示的记录数以及总记录数等。以下是一个简单的分页类的示例: ```java public class Pagination { private int current...