- 浏览: 202668 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 9381。使用java.util.Properties类的load( ... -
【转载】2010年国内开源状况
2011-01-25 09:35 10742010 或许可以称之为中国互联网企业回馈开源领域的试水之年。 ... -
MySQL中Text, MeduimText, LongText在Hibernate中的设置
2010-12-01 15:59 6135在Hibernate的配置中,我目前是采用Annotation ... -
Axis2 根据wsdl制作客户端程序
2010-11-11 00:24 2371package test; import org.a ... -
让BN全部头像可以使用
2010-10-20 19:57 940http://hi.baidu.com/kabian/blog ... -
BN战绩房和统计信息
2010-10-20 19:55 924简单介绍参考:http://hi.baidu.com/lida ... -
BN搭建全过程
2010-10-20 00:19 10791. 官网下载 http://pvpgn.berlios.de ... -
Ubuntu下配置出现error: Cannot find MySQL header files 的解决
2010-10-19 23:25 1036apt-get install libmysqlclient1 ... -
JSTL中if/else使用
2010-09-22 23:49 6016<c:forEach var="i&quo ... -
org.apache.lucene.analysis.TokenStream.incrementToken()Z 错误
2010-08-26 16:26 3899org.apache.lucene.analysis.Toke ... -
msn 80048820 错误,最佳解决办法
2010-08-24 10:04 1255在Internet选项的高级里 清除“检查服务器证书吊销”复 ... -
搭建svn
2010-08-16 18:47 1477环境 ubuntu 10.04 1. sudo apt-ge ... -
防止sshd暴力破解密码工具
2010-07-29 15:56 1120今天逛别人javaeyeblog的时候无意间发现的工具 de ... -
Velocity 解析多层Map
2010-07-15 18:11 2204针对Map<String,Map<String,S ... -
安装单机模式hadoop的流程
2010-07-12 23:33 2386安装环境: Ubuntu 9.10 hadoop 0.20.2 ... -
Velocity 遍历Map类型,List类型
2010-07-06 14:50 2926折腾个velocity的显示问题折腾了一天.. 一.遍历个m ... -
Tokyo Tyrant 简单使用
2010-06-25 16:39 1287(1)、写数据,将数据“value”写入到“key”中: cu ... -
扩大linux文件 描述符
2010-06-25 16:33 735如果大量的客户端访问ttserver,请确保文件描述符够用。 ... -
curl使用简介---转载
2010-06-25 15:04 1412Curl是一个很强大的http ...
相关推荐
下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...
一个简单的hibernate+struts2分页功能 希望对你有所帮助
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
struts2结合easyui实现增删改分页排序
Struts2分页源码技术的应用 还有到了目前比较流行的框架hibernate框架,挺不错的
自己练习的一个struts2分页实现,代码完整,初学者可以下载看看,大家共同努力,发现问题,提升技能
Struts2实现分页功能,代码完整简洁易懂,可以直接拿去使用,欢迎拍砖
自己学着用struts1.2来实现的一个简单分页代码,希望对初学者有用。
struts分页代码例子
下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...
spring+hibernate+struts实现分页功能,应用软件eclipse、sqlserver
一个很详细地struts分页源代码,绝对值的一看....
struts实现分页技术源代码 包括html代码哦
本程序是使用struts2做的分页显示,还有建表语句。
struts2 分页 多数据库连接mysql 移植方便 把unit中文件考入 在action文件中加入相应代码
ibatis struts2 spring3 mybatis 分页 crud 完整代码
传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享...
mybatis分页spring3.1+struts2 测试代码。自己写的。仅供参考。 文章地址 http://blog.csdn.net/fairyhawk/article/details/7787939
这个也是参考别人的。。呵呵,建议大家用组件去实现分页哦。本人不会用组件。这里是简单的分页代码,是struts+jdbc实现的,欢迎大家参考!!!
struts分页代码,绝对可以运行且包含数据库