`
ganqing1234
  • 浏览: 171797 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

公司源码分析之分页实现

阅读更多

jsp代码如下:

<c:url var="paginationAction" value="spaceadmin.groupTypeManage.do"></c:url>
<c:if test="${pageObject.pageCount>1}">
    <div class="pagination">
        <c:if test="${pageObject.currentIndex!=1}">
            <c:url var="url" value="${paginationAction}">
				<c:param name="page" value="${1}"/>
			</c:url>
			<a href='<c:out value="${url}"/>'>首页</a>
			<c:url var="url" value="${paginationAction}">
				<c:param name="page" value="${pageObject.previousIndex}"/>
			</c:url>
			<a href='<c:out value="${url}"/>'>上一页</a>
        </c:if>
        <c:forEach var="x" begin="${pageObject.startIndexOnShow}" end="${pageObject.endIndexOnShow}" step="1" varStatus="status">
            <c:url var="url" value="${paginationAction}">
                <c:param name="page" value="${x}"/>
            </c:url>
            <c:choose>
                <c:when test="${pageObject.currentIndex==x}"><strong><c:out value="${x}"/></strong></c:when>
                <c:otherwise>
                    <a href='<c:out value="${url}"/>'><c:out value="${x}"/></a>
                </c:otherwise>
            </c:choose>
        </c:forEach>
        <c:if test="${pageObject.currentIndex<pageObject.endIndex}">
			<c:url var="url" value="${paginationAction}">
			   	<c:param name="page" value="${pageObject.nextIndex}"/>
			</c:url>
			<a href='<c:out value="${url}"/>'>下一页</a>
			<c:url var="url" value="${paginationAction}">
			   	<c:param name="page" value="${pageObject.endIndex}"/>
			</c:url>
			<a href='<c:out value="${url}"/>'>尾页</a>
        </c:if>
    </div>
</c:if>

 pageObject为PagingSupport类型,是后台封装的一个包含数据的对象。

public class PaginationSupport implements Serializable {

	private static final long serialVersionUID = 1L;

	public final static int PAGESIZE = 30;
	
	private int indexCountOnShow = 7; // 默认最多显示7个页码
	
	private int pageSize = PAGESIZE; 
	
	private List items;

	private int totalCount;

	private int[] indexes = new int[0];

	private int startIndex = 0;

	private int nextIndex;
	private int previousIndex;
	private int pageCount;
	private int currentIndex;
	private int endIndex;
.....

  List items 里面保存从数据库中得到的对象。至于分页的sql,因为公司只使用oracle的数据库,所以采用的就是类似如下的sql了:

select * from (select t1.*, rownum rn from (select * from t_photo) t1 where rownum<:num2) where rn>:num1

   这样每次从数据库得到的list先要塞到一个PagingSupport对象里,然后返回。

   从上面的jsp可以看到,因为pageObject是写死在分页的页面里,所以页面上必须要有pageObject变量,而且只能有一个,这就显得不是很灵活了。

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    datagidview分页控件+自定义分页控件源码

    3. 源码分析: 拥有源码意味着开发者可以深入理解分页控件的工作原理,对其进行二次开发或优化。源码中可能包含了数据绑定、分页逻辑计算、用户交互处理等多个方面的代码。通过对源码的学习,开发者可以提升自己的...

    flex基于datagrid控件的增删改查及分页实现

    在开发过程中,源码分析和使用适当的工具至关重要。FlexBuilder(现在称为Flash Builder)是一个集成开发环境(IDE),提供了代码编辑、调试和预览功能,便于Flex应用的开发。开发者可以通过查看和修改源码,实现对...

    一个基于C#+ASP.NET实现的仿QQ拖动分页功能程序源码例子

    通过分析这个源码例子,开发者可以学习到如何将拖动分页功能整合进ASP.NET Web应用中,提高用户的交互体验。同时,这也是一种学习C#、JavaScript、AJAX和前端技术的好机会。对于希望提升Web开发技能的程序员来说,这...

    gridview分页效果.zip安卓程序源码资源下载

    6. 源码分析:在解压后的“gridview分页效果”文件中,我们可以看到具体的代码实现。主要关注以下几个部分: - MainActivity:主活动类,初始化GridView并设置Adapter。 - GridAdapter:自定义的Adapter,负责数据...

    EXTJS源码分析与开发实例宝典-开发的效果图.rar

    在开发实例部分,可能会涵盖EXTJS的各种组件如窗口(Window)、面板(Panel)、表单(Form)、表格(Grid)、树形控件(Tree)的使用方法,以及如何创建动态数据绑定、实现数据分页、使用Ajax进行异步通信等。...

    ASP实例开发源码—AJAX 静态分页示例.zip

    【ASP实例开发源码—AJAX 静态分页示例】是一个针对初学者和有一定基础的ASP开发者设计的实战项目,它演示了如何在ASP(Active Server Pages)环境中结合AJAX(Asynchronous JavaScript and XML)技术实现静态分页...

    ASP.NET-[其他类别]Ajax三级联动和无刷新分页源码.zip

    源码分析可以帮助我们深入理解如何结合ASP.NET和Ajax技术来实现这些功能。通过研究这个示例,开发者可以学习到如何在实际项目中应用Ajax来提高交互性和响应速度,同时掌握无刷新分页的实现技巧。

    Flex前台分页

    3. **Flex分页实现**: - 数据集(ArrayCollection):在Flex中,通常使用ArrayCollection作为数据源,它是Array的子类,支持数据绑定和事件处理。 - 分页组件:Flex提供了一些内置的分页组件,如DataGrid和List,...

    分页式图文新浪读书微程序源码.zip

    分页式图文新浪读书微程序源码是一个专为阅读设计的微信小程序应用,它采用了分页式的布局方式,使得用户可以方便地浏览和阅读图文内容。这个源码主要用于教学和交流,帮助开发者了解如何构建一个功能完备、用户体验...

    分页式移动端微信小商城购物程序源码.zip

    这个源码包含了完整的前端页面和后端接口,旨在实现一个具备分页功能的移动购物平台,用户可以在微信内进行浏览、搜索商品,加入购物车,以及完成购买流程。 首先,我们需要了解微信小程的基础架构。微信小程序是...

    简约分页式我厨在线微信商城购物消费小程序源码.zip

    【简约分页式我厨在线微信商城购物消费小程序源码】是一个用于开发微信小程序的代码资源,它提供了实现一个简洁、分页式的在线购物平台的框架。通过学习和研究这个源码,开发者可以深入了解微信小程序的开发流程,...

    mupdf 源码

    它由 Artifex Software 公司开发,提供了对 PDF、XPS 和 OpenXPS 文件格式的支持。这款开源软件以其优秀的性能和对低内存需求的优化而受到广泛赞誉。在 Android 平台上,MuPDF 常被用于开发 PDF 查看和解析功能。 *...

    ASP.NET生成静态页面和分页

    ASP.NET提供多种分页实现方式,包括GridView、ListView等控件的内置分页功能,以及自定义分页。内置分页通常简单易用,但可能在灵活性和性能上有所限制。自定义分页则可以根据需求进行更精细化的控制,比如自定义每...

    蓝色清洗吧幻灯片分页式商城服务合作宣传微信小程序源码.zip

    6. 源码分析:源码是程序的原始编写形式,对于开发者来说,查看源码可以帮助理解小程序的架构、功能实现以及优化策略。此压缩包中的源码可用于学习微信小程序开发,包括页面结构、样式控制、数据绑定、事件处理等...

    精选生活服务政务宣传分页式服务商城微信端小程序源码.zip

    【标题】:“精选生活服务政务宣传分页式服务商城微信端小程序源码”是指一套用于构建微信小程序的应用程序代码库,特别设计用于提供生活服务和政务宣传功能。它以分页的形式展示各种服务和信息,使得用户在微信环境...

    某数码公司网站系统源码

    【某数码公司网站系统源码】...通过深入研究这个数码公司网站系统的源码,开发者不仅可以提升C#编程和SQL Server数据库应用的技能,还能掌握Web应用开发的全流程,对整个网站系统的设计思想和实现机制有更深刻的理解。

    操作系统源码 x86

    操作系统源码分析——基于x86架构 操作系统是计算机系统的核心,它负责管理硬件资源、控制软件执行以及提供用户接口。在"自己动手写操作系统"的主题下,我们将深入探讨x86架构下的操作系统原理和实现。x86是Intel...

    黑色教程网源码_黑色源码网_网站源码_asp源码_网站编程_

    在ASP环境下,这些功能通常通过读写数据库来实现,比如存储和检索用户的评论信息,同时可能还需要实现评论的排序、分页显示等复杂逻辑。 requisition.asp可能涉及到网站的问卷调查功能,这需要开发者具备动态生成...

    sk项目源码哈哈哈哈啊啊啊

    【SK项目源码分析】 SK项目是一个针对Winform应用程序开发的源码库,它提供了丰富的功能,如加载指示器(loading)和分页机制,旨在简化开发者的工作,提高开发效率。这个项目基于C#编程语言,是.NET Framework平台...

    基于JavaWeb数据分析的关键词分析系统源码+项目使用说明.zip

    基于JavaWeb数据分析的关键词分析系统源码+项目使用说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动...

Global site tag (gtag.js) - Google Analytics