• (十六)分页


    页面分页信息分析

     

    上图中,发现分页需要的信息有:当前页号,总共页数,上一页,下一页,附带一个数据列表。

    由于一般分页是在列表页,所以上面的信息中,数据列表对象是已经有了的;而且上一页、下一页这个只是当前页的数量的加减,所以现在只需要能获取到当前页号,总共页数就可以。也就是说从Action中查询完数据后,需要返回一个这样的对象,它至少包括了:当前页号、总页数、数据列表(具体数据对象不明)。

    再分析;总页数是怎么出来的?应该是要有每页最多显示多少条,然后总共的记录是多少;才能计算出总页数;即使前端页面不显示,但是我们后台计算也是需要总记录数和每页大小才能计算出总页数。这样对象中也要包括这2个属性。

    页面对象(当前页号,总页数,数据列表,总记录数,每页大小)

    设计分页对象

    根据上面的分析;可以写出一个页面对象,内容包括了:当前页号,总页数,数据列表,总记录数,每页大小。

    这个类主要目的是:在数据库层查询数据后,应该将查询到的列表封装给页面对象,并且根据从action中传递的页面大小和当前页,计算出在页面上所需要的属性(当前页、总页数、数据列表),然后再将这个页面对象返回给jsp页面使用。所以设计一个可以实现这个操作的类PageResult:

     

    实现分页

    1、  在baseDaoImpl中应该实现一个带分页功能的查询;

    2、  由于分页信息在列表都需要使用到,所以可以将在jsp页面中需要使用到的分页对象PageResult和分页页号pageNo、页大小pageSize放置baseAction中。

    3、  业务Action中调用分页的方法;

    4、  Jsp页面中对分页对象进行解析。

    抽取前端分页代码

    创建pageNavigator.jsp到项目的common目录下;页面内容如下:

     

    在一般的列表中只要引入 <jsp:include page="/common/pageNavigator.jsp"/>

  • 相关阅读:
    利用闭包向post回调函数传参数
    在seajs中使用require加载静态文件的问题
    jqGrid标题行与第一行之间有很大空白的问题解决。
    关于bootstrapValidator提交问题的解决
    心得(一)
    使用心得(一)
    Dreamweaver CC 2018/64位下载地址及安装教程
    tf.test.is_gpu_available()报错false的解决方案
    Tensorflow——[Could not load dynamic library cudart64_101.dll]解决方案
    如何验证是否正确安装了CUDA
  • 原文地址:https://www.cnblogs.com/Michael2397/p/5939985.html
Copyright © 2020-2023  润新知