- 浏览: 204905 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
sscsacdsadcsd:
nginx之类做下反代就好了...当然是一个意思其实我想的是有 ...
解决jQuery的AJAX跨域取xml问题 -
allstar2012:
为什么要对汉字进行双重编码呢?两次使用encodeURl()
【转载】解决js传汉字时候,url乱码的问题 -
qieyi28:
这要是放在strtus2中岂不是悲剧了
【转载】解决js传汉字时候,url乱码的问题 -
qq224:
[img][/img][size=xx-small][/siz ...
Struts2 分页代码 -
358713428:
阳光空气水 写道谢谢分享,一直想学习不错的例子。
颇受启发的一个jQuery Ajax例子~
分页模块在参考完无数个版本之后总算自己做出一个自己的版本了...
Pager类:
PageService 类:
调用示例:
页面上设置:
这样就OK了...
虽然显示的比较老土....可满足需求就行了...继续要就怎么显示一串数字的那种分页..
可以 能提供整个项目代码?我把你这个COPY进去报错。。。。 zhang.jun@chinasoftinc.com
项目代码不能提供.
哪儿出错?
Pager类:
package bit.dlde.marx.util; import java.math.*; public class NewPager { private int totalRows; //总行数 private int pageSize = 10; //每页显示的行数 private int currentPage; //当前页号 private int totalPages; //总页数 private int startRow; //当前页在数据库中的起始行 public NewPager() { } /**默认每页10个 * @param _totalRows */ public NewPager(int _totalRows) { totalRows = _totalRows; totalPages=totalRows/pageSize; // System.out.println("总共的页数:"+totalPages); int mod=totalRows%pageSize; if(mod>0){ totalPages++; } currentPage = 1; startRow = 0; } /**可自定义每页显示多少数 * @param _totalRows * @param _pageSize */ public NewPager(int _totalRows, int _pageSize) { totalRows = _totalRows; pageSize = _pageSize; totalPages = totalRows / pageSize; // System.out.println("总共的页数:"+totalPages); int mod = totalRows % pageSize; if (mod > 0) { totalPages++; } currentPage = 1; startRow = 0; } public void first() { currentPage = 1; startRow = 0; } public void previous() { if (currentPage == 1) { return; } currentPage--; startRow = (currentPage - 1) * pageSize; } public void next() { if (currentPage < totalPages) { currentPage++; } startRow = (currentPage - 1) * pageSize; } public void last() { currentPage = totalPages; startRow = (currentPage - 1) * pageSize; } public void refresh(int _currentPage) { currentPage = _currentPage; if (currentPage > totalPages) { last(); } } public int getStartRow() { return startRow; } public int getTotalPages() { return totalPages; } public int getCurrentPage() { return currentPage; } public int getPageSize() { return pageSize; } public void setTotalRows(int totalRows) { this.totalRows = totalRows; } public void setStartRow(int startRow) { this.startRow = startRow; } public void setTotalPages(int totalPages) { this.totalPages = totalPages; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalRows() { return totalRows; } }
PageService 类:
package bit.dlde.marx.util; public class NewPagerService { /** * 功能描述:使用默认参数的 * <br>输入: * <br>输出: * <br>创建日期:Nov 6, 2008 */ public NewPager getPager(String currentPage,String pagerMethod,int totalRows) { // 定义pager对象,用于传到页面 NewPager pager = new NewPager(totalRows); // System.out.println("执行到getPager了"); // 如果当前页号为空,表示为首次查询该页 // 如果不为空,则刷新pager对象,输入当前页号等信息 if (currentPage != null) { pager.refresh(Integer.parseInt(currentPage)); // System.out.println("确认完当前的currentPage"); }else{ // currentPage="1"; pager.refresh(1); } // 获取当前执行的方法,首页,前一页,后一页,尾页。 // System.out.println("当前要执行的页面动作为:"+pagerMethod); if (pagerMethod != null) { if (pagerMethod.equals("first")) { pager.first(); } else if (pagerMethod.equals("previous")) { pager.previous(); } else if (pagerMethod.equals("next")) { pager.next(); } else if (pagerMethod.equals("last")) { pager.last(); } }else{ pager.first(); } return pager; } /** * 功能描述:可自定义每页显示书目的 * <br>输入: * <br>输出: * <br>创建日期:Nov 6, 2008 */ public NewPager getPager(String currentPage,String pagerMethod,int totalRows,int pageSize) { // 定义pager对象,用于传到页面 NewPager pager = new NewPager(totalRows,pageSize); // System.out.println("执行到getPager了"); // 如果当前页号为空,表示为首次查询该页 // 如果不为空,则刷新pager对象,输入当前页号等信息 if (currentPage != null) { pager.refresh(Integer.parseInt(currentPage)); // System.out.println("确认完当前的currentPage"); }else{ // currentPage="1"; pager.refresh(1); } // 获取当前执行的方法,首页,前一页,后一页,尾页。 // System.out.println("当前要执行的页面动作为:"+pagerMethod); if (pagerMethod != null) { if (pagerMethod.equals("first")) { pager.first(); } else if (pagerMethod.equals("previous")) { pager.previous(); } else if (pagerMethod.equals("next")) { pager.next(); } else if (pagerMethod.equals("last")) { pager.last(); } }else{ pager.first(); } return pager; } }
调用示例:
/** * 功能描述:前台列表 * <br>输入: * <br>输出: * <br>创建日期:Nov 6, 2008 */ public String ExpListForFront() throws Exception { int totalRow = expServ.getTotalRowsNum(); System.out.println(totalRow+" :totalRow"); pager = pagerService.getPager(this.getCurrentPage(), this .getPagerMethod(), totalRow,36);//前台页面一页36个 this.setCurrentPage(String.valueOf(pager.getCurrentPage())); this.setTotalRows(String.valueOf(totalRow)); availableItems = expServ.getRows(pager.getPageSize(), pager.getStartRow()); System.out.println("准备显示专家列表"); List<Experts> explistemp = new ArrayList<Experts>(); for (Experts es : availableItems) { es.setName(CharacterTrans.trans8859_1ToGBK(es.getName())); es.setResume(CharacterTrans.trans8859_1ToGBK(es.getResume())); es.setPhoto(CharacterTrans.trans8859_1ToGBK(es.getPhoto())); es.setEditor(CharacterTrans.trans8859_1ToGBK(es.getEditor())); es.getExpertType().setTempname(CharacterTrans.trans8859_1ToGBK(es.getExpertType().getName())); explistemp.add(es); } this.setItEx(explistemp.iterator()); System.out.println("显示专家列表完毕"); return SUCCESS; }
页面上设置:
<div id="pageflip"> 共 <s:property value="totalRows" /> 行 第 <s:property value="currentPage" /> 页 共 <s:property value="pager.getTotalPages()" /> 页 <a href="<s:url value="expListForFront.action"> <s:param name="currentPage" value="currentPage"/> <s:param name="pagerMethod" value="'first'"/> </s:url>">首页</a> <a href="<s:url value="expListForFront.action"> <s:param name="currentPage" value="currentPage"/> <s:param name="pagerMethod" value="'previous'"/> </s:url>">上一页</a> <a href="<s:url value="expListForFront.action"> <s:param name="currentPage" value="currentPage"/> <s:param name="pagerMethod" value="'next'"/> </s:url>">下一页</a> <a href="<s:url value="expListForFront.action"> <s:param name="currentPage" value="currentPage"/> <s:param name="pagerMethod" value="'last'"/> </s:url>">尾页</a> </div>
这样就OK了...
虽然显示的比较老土....可满足需求就行了...继续要就怎么显示一串数字的那种分页..
评论
3 楼
qq224
2011-09-29
[img][/img][size=xx-small][/size][align=left][/align]
2 楼
sonyfe25cp
2008-12-29
zjyyaini 写道
可以 能提供整个项目代码?我把你这个COPY进去报错。。。。 zhang.jun@chinasoftinc.com
项目代码不能提供.
哪儿出错?
1 楼
zjyyaini
2008-12-29
可以 能提供整个项目代码?我把你这个COPY进去报错。。。。
zhang.jun@chinasoftinc.com
zhang.jun@chinasoftinc.com
发表评论
-
12个国外的免费VPN代理
2011-02-09 00:27 1657VPN(Virtual PrivateNetwork)虚拟专用 ... -
Java 加载Properties文件的六种方式
2011-02-08 22:31 9681。使用java.util.Properties类的load( ... -
【转载】2010年国内开源状况
2011-01-25 09:35 11032010 或许可以称之为中国互联网企业回馈开源领域的试水之年。 ... -
MySQL中Text, MeduimText, LongText在Hibernate中的设置
2010-12-01 15:59 6180在Hibernate的配置中,我目前是采用Annotation ... -
Axis2 根据wsdl制作客户端程序
2010-11-11 00:24 2399package test; import org.a ... -
让BN全部头像可以使用
2010-10-20 19:57 963http://hi.baidu.com/kabian/blog ... -
BN战绩房和统计信息
2010-10-20 19:55 946简单介绍参考:http://hi.baidu.com/lida ... -
BN搭建全过程
2010-10-20 00:19 11161. 官网下载 http://pvpgn.berlios.de ... -
Ubuntu下配置出现error: Cannot find MySQL header files 的解决
2010-10-19 23:25 1097apt-get install libmysqlclient1 ... -
JSTL中if/else使用
2010-09-22 23:49 6044<c:forEach var="i&quo ... -
org.apache.lucene.analysis.TokenStream.incrementToken()Z 错误
2010-08-26 16:26 3951org.apache.lucene.analysis.Toke ... -
msn 80048820 错误,最佳解决办法
2010-08-24 10:04 1279在Internet选项的高级里 清除“检查服务器证书吊销”复 ... -
搭建svn
2010-08-16 18:47 1504环境 ubuntu 10.04 1. sudo apt-ge ... -
防止sshd暴力破解密码工具
2010-07-29 15:56 1171今天逛别人javaeyeblog的时候无意间发现的工具 de ... -
Velocity 解析多层Map
2010-07-15 18:11 2234针对Map<String,Map<String,S ... -
安装单机模式hadoop的流程
2010-07-12 23:33 2424安装环境: Ubuntu 9.10 hadoop 0.20.2 ... -
Velocity 遍历Map类型,List类型
2010-07-06 14:50 2952折腾个velocity的显示问题折腾了一天.. 一.遍历个m ... -
Tokyo Tyrant 简单使用
2010-06-25 16:39 1315(1)、写数据,将数据“value”写入到“key”中: cu ... -
扩大linux文件 描述符
2010-06-25 16:33 759如果大量的客户端访问ttserver,请确保文件描述符够用。 ... -
curl使用简介---转载
2010-06-25 15:04 1485Curl是一个很强大的http ...
相关推荐
【hibernate+struts2分页代码】是关于如何在Java Web开发中结合Hibernate ORM框架和Struts2 MVC框架实现数据分页的功能。在Web应用程序中,分页是提高用户体验的重要手段,它允许用户逐步浏览大量数据,而无需一次性...
下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...
下面是一个简化的示例代码片段,展示了如何在Struts2和Hibernate中实现分页功能: ```java // PageTool类定义 public class PageTool { private int pageNum; // 当前页码 private int pageSize; // 每页显示记录...
在探讨Struts2框架下的增删改查以及分页查询功能时,我们首先需要理解Struts2框架本身。Struts2是Apache软件基金会的一个开源Web应用框架,它继承了Struts1的一些特性,并在此基础上进行了大量的改进和扩展,提供了...
通过自定义分页标签,Struts2开发者能够轻松实现定制化分页,并保持代码的整洁和可维护性。这种方式避免了在多个JSP页面中重复编写分页逻辑,提高了代码复用性,同时降低了出错的可能性。 总之,本资源提供的Struts...
Struts2分页源码技术是Web开发中一个重要的实践,尤其是在处理大数据量时,能够有效地提高用户体验,避免一次性加载过多数据导致页面响应慢。在本文中,我们将深入探讨Struts2分页技术的实现原理、应用方法以及与...
### Struts2 结合 EasyUI 实现增删改分页排序 #### 一、概述 在Web开发领域,Struts2 和 EasyUI 是两个非常重要的框架和技术。Struts2 是一款基于MVC模式的Java Web应用程序框架,它帮助开发者构建灵活、可扩展的...
在提供的"InterlibLog"文件中,可能包含了实现这个分页功能的具体代码示例,包括Action类、数据库查询逻辑、Struts2配置文件以及对应的JSP页面。通过分析和学习这些代码,你可以更深入地理解Struts2的分页实现过程。...
本文将详细介绍Struts2实现分页效果的第二种方法。 在Struts2中,实现分页通常涉及以下几个关键步骤: 1. **模型(Model)**:首先,我们需要一个实体类来存储待分页的数据,例如`User`。然后,创建一个`PageBean`类...
经典Struts2分页方法是Java Web开发者需要掌握的核心技能之一。 分页的实现通常涉及到以下几个关键知识点: 1. **Action类**:在Struts2中,Action类是处理用户请求的中心。为了实现分页,我们需要创建一个包含...
Struts2实现分页功能,代码完整简洁易懂,可以直接拿去使用,欢迎拍砖
### Struts2 实现分页及 `<s:bean>` 标签详解 #### 一、Struts2 分页概述 在 Java Web 开发中,为了提高用户体验并减轻服务器负担,通常采用分页技术来展示数据。Struts2 框架提供了一套强大的工具和标签库来帮助...
Struts2分页是Web开发中的一个重要概念,它主要用于处理大量数据时,避免一次性加载所有数据导致页面响应慢或者浏览器崩溃。在这个场景中,我们提到的是使用自定义标签实现类似于百度分页的效果,这是一种常见的用户...
在本程序中,"用Struts2的分页代码"是实现数据分页显示的一个关键功能,它允许用户分批查看大量数据,提高用户体验并减轻服务器负载。 分页技术通常涉及以下几个核心概念: 1. **分页查询**:在数据库中,我们并不...
本示例是关于如何在Struts1.2框架下实现简单的分页功能,这对于处理大量数据并提高用户体验至关重要。分页允许用户逐页浏览内容,而不是一次性加载所有数据,从而减轻服务器负担,提升页面加载速度。 首先,我们要...
在这个"Struts分页源代码"中,我们可以深入学习如何在Struts应用中实现高效、灵活的分页功能。 首先,理解分页的基本原理是必要的。分页是将大量数据分成若干小部分,每次只加载一部分到页面上,用户可以通过点击...
Struts 是一个经典的Java Web开发框架,它遵循MVC(Model-View-Controller)设计模式,使得开发者可以更有序地组织代码,提高开发效率。在Web应用中,特别是在处理大量数据时,分页功能是非常常见且重要的。它可以...
在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...
本篇文章将深入探讨如何在Struts2框架下结合FreeMarker实现分页功能,帮助开发者更高效地处理大数据量的展示问题。 首先,了解分页的基本原理。分页是用来解决一次性加载大量数据导致页面加载过慢或内存压力过大的...
本篇文章将详细讲解如何利用Struts2和JSP实现前端的分页功能。 分页是Web应用中常见的需求,尤其在处理大量数据时,能够帮助用户更高效地浏览和管理数据。Struts2通过Action类、结果类型配置以及拦截器等机制,可以...