爱问知识人 爱问教育 医院库

java 页面分页原理

首页

java 页面分页原理

马上会用ssh做项目 后台会设置分页的参数。我想了解一下jsp分页的实现原理(不是数据库的),请问整个分页的流程是什么呢?比如一开始进入列表,点击下一页该怎样传递参数?以及首页、尾页等。整个过程中:当前页数、页面显示条数、数据总条数 这些是怎样的关系,还有就是: (当前页-1) * 页面显示条数这个公式是记录的什么?最好有一个完整的demo加上注释。小弟对这个分页总是很疑惑啊 感谢!

提交回答

全部答案

    2013-05-17 11:39:47
  • 我是写了一个分页类,其中有一下属性:本页第一个值a,本页显示的最大值b,当前页数c,查询数据的总页数d, 固定的每页显示几个数n (常量),存放的数据list。
      首先,c是从页面获得的,a = (c-1)*n,d是从数据库查询的所有记录的总页数,即根据总记录数%n有余数 d=总记录数/n + 1,没有余数 d=总记录数/n.
      其次,b是判断是否总记录数%n有余数,如果有余数,最后一页的 b = 总记录数%n
    若没有余数则b = n
      最后,for循环打印list里面的值

    3***

    2013-05-17 11:39:47

  • 2013-05-12 13:54:20
  •   分页本质上就将严格排序的特定数量个记录显示出来,
    其实说白了就是按照显示的要求,将特定的记录从数据库中取出来。
       处理起来很简单, (1)你要处理的数据记录在数据库中应该能够严格排序,也就是你排序的条件要能具有唯一性,否则会出现有些记录总是显示不出来的情况 (2)根据需要显示的页面和页面的大小(单页显示的记录数)计算需要读取的记录 因为目前关系数据库有的支持按照排序select特定区段的记录的功能,有的不支持;但是大多数都支持读取前面多少条记录(sql语句可能不同),因此最简单的办法就是,计算出需要显示的最后一条记录,然后将这些记录读取出来,丢弃掉前面不需要的记录 例如:如果页面大小ps=25,你需要显示的页面p=10; 那么你需要读取的最后一条记录就是:25*10=250 于是你需要读取250条记录,抛弃掉前面的25+9=225条记录, 因此你的读取的记录区间就是:[9*25+1,25+18] 如果记录排序是从0开始的,那么就有读取记录区间是:[(p-1)*ps,ps*p] 这就是你所说的公式的来历。

    贝***

    2013-05-12 13:54:20

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):