分页中的难点

1, 分页的数据:6个要素,

l 当前面:pageCode,pc;

l 总页数:totalPages,tp

l 总记录数:totalRecored,tr

l 每页记录数:业务数据或叫系统数据!10行!

l 当前页数据:beanList

l url

2,分页在各层之间的处理:

l 页面:给出分页相关的链接们!

l Servlet:创建PageBean对象,给PageBean所有的属性赋值,然后传递给页面;

  Servlet需要给DAO传递pc、ps

Dao:

  • tr:select count(*) t_customer
  • beanList:select * from t_customer limit x, y
  • 分工图:

显示分页页码列表
1 2 3 4 5 6 7 8 9 10
    最多显示多少个页码!定为10;
    当前页,在页码列表中的位置,定为6;

只需要当前页码来定出来页码列表!
定下来页码列表只需要两样数据:
        begin
        end
10 11 12 13 14 (15) 16 17 18 19
需要使用pc来推算出begin和end
begin = pc – 5
end = pc + 4
计算公式:
    如果总页数<=10(列表长度),那么begin=1,end=总页数
    使用公式计算;begin=pc-5, end=pc + 4;
    头溢出:当begin<1时,让begin=1
    尾溢出:当end>${tp}时,让end=${tp}

3,在超链接中药保留参数:

    当使用多条件查询后,然后在点击第2 页时,这个第2页超链接没有条件了,所以会丢失条件,所以我们需要在页面上的所有链接都要保留条件!

    我们要把条件以一个字符串的形式保存到PageBean的url中!这个任务交给Servlet!

时间: 2024-08-09 21:52:09

分页中的难点的相关文章

ThinkPHP 分页中带入查询(搜索)条件

parameter 属性赋值 例如要检索用户表中状态为 1 (status=1) 并且电子包含 163 的用户,当提交表单时(注意表单是 GET 方式提交),形成的 URL 地址大致如下: http://www.5idev.com/index.php/Index/search/status/1/email/163 在搜索操作(search)中主要代码如下: public function search(){ $Dao = M("User"); // 构造查询条件 $condition[

EF分页中的陷阱

(一) 前言                                                                   EF使用非常简单,但是如果使用不当就会误入EF陷阱中.下面讲解了几种分页方式的对比,以及各种方式的缺陷. (二) 陷阱一   Expression<Func<T, TResult>> 和Func<T, TResult>的区别        说明:System.Linq.Expressions.Expression<Fun

零基础学UI设计教程分享C4D中重点难点分析

一. C4D中基础知识 1.世界的旋转.缩放和位移 旋转:Alt+鼠标左键 缩放:Alt+鼠标右键 位移:Alt+鼠标滚轮(中键) 2.物体的旋转.缩放和位移 旋转:快捷键R 缩放:快捷键T 位移:快捷键E 快速找到当前物体:快捷键H 物体和世界切换:快捷键W 3.找到当前C4D文件:窗口右下角(可直接切换多个文件) 关闭当前文件:窗口左上角文件--关闭(全部关闭) 合并两个文件:在其中一个文件下,点击左上角文件--合并--选择你想要合并的文件 4.等比旋转:先点击R调出旋转命令,把鼠标放在你想

IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化:

IT蓝豹 ------------------>sqlite数据库版本升级 1.sqlite升级步骤: 1.自己写一个类继承自SqliteOpenHelper 2.会实现SqliteOpenHelper的两个方法 onCreate与onUpgrade,google文档对两个回调方法的解释是创建数据库的时候调用与更新数据库的版本的时候调用 3.Sqlite数据库主要是用来缓存应用的数据,而应用却是一直在更新版本,相应的数据的表的字段也会一直增加会改变或减少 4.这个时候就需要控制数据库的版本,因为

Python学习过程中各个难点---数据类型篇

---恢复内容开始--- 当时在学习python的基本数据类型时,对于可变与不可变类型不是了解的很透彻,这篇是回过头来自己的一些理解. 可变的数据类型有列表,不可变的数据类型有字符串,数字和元组    怎么区分可变不可变,很简单.我们都知道数据是存储在内存里的,那么我们只需去查看其内存即可 列表: 可以从上图看到,我在修改了列表中的数值后,列表的内存地址并未发生改变,相当于还是这个列表,说明该数据类型是可变的 数字: 可以从上图看到,我在修改了数字的值后,其内存地址发生了变化,相当于变成了另外一

loadrunner解决在项目中的难点解决

代码如下: vuser_init() { lr_save_string("11041331\",\"11041372\",\"11041373\",\"11041374","OrderNo"); lr_output_message("%s", lr_eval_string("{OrderNo}")); return 0; } Action() { int i=0,j;

非分页中的上一篇下一篇sql语句如何写

上一页:where id=(select max(id) from examination where id < #{id} and class=#{class}) 下一页:where id=(select min(id) from examination where id > #{id} and class=#{class}) <小于号,>大于号

关于criteria分页中获取总记录数异常问题

一.情景在线 运维同事反馈了一个问题,说咱们查询分机号码的api 接口返回数据异常,具体的情况时是: 1.查询时第一页信息所返回的总记录数正确,数据正确. 2.查询第二页总记录数为 "0" ,数据为对应的第二页数据. what!!! 二.为题排查 按照同事的提供的线索,在本地复现发现-->果然如此! 传入当前页 pageNow>1 时 总数totel 将为零,且必现! 多次测试发现: 传入pageNow=1 控制台打印的sql select count(*) as y0_

Python学习过程中各个难点---函数篇

对于函数,我一直分不清局部变量与全局变量,今天又好好研究了下,终于搞清楚了. 例子: 其次对于global这个关键字我也是一知半解的状态,之前整个人都是懵懵的,现在搞明白了 匿名函数: 匿名函数使用关键词lambda定义,初看普通,但是配合其他函数使用,还是很牛的,配合例子看 递归函数我也不太了解: 递归函数: 简而言之,就是函数在其内部调用自己本身,这种函数就叫做递归函数,一样,我写了例子: 原文地址:https://www.cnblogs.com/roy1235/p/9696731.html