ssh框架实现查询结果分页。

ssh框架实现查询结果分页。,第1张

写一个类 假如叫PageModel 该类有一个属性list(List 类型的),PageNo(当前页),PageSize(每页显示记录条数)然后在查询数据库dao实现那里查询后(该方法返回值为PageModel)先创建PageModel对象 然后给其属性list,PageNo,PageSize赋值 然后在jsp里的jstl标签里的集合可以填写PageModel.list (别忘记放到request内置对象那) 至于上一页下一页的话就是通过改变PageNo从而实现分页的 至于代码 现在不再我电脑上 不想写 反正照这思路是可以实现分页的

分两种了,

第一种是前台分页,也叫假分页,把查询得到的所有结果全部传到前台,利用js插件啥的分页,网上很多类似的插件,数据不多时用这个就可以了;

第二种是后台分页,只查询你页面显示的值,要实现这个功能,除了必要的参数,查询起始列数,要查询的条数也要传过去,调用hibernate分页,若有删除功能,还要把满足条件的数据的总条数传过去(最后一页只有一条数据时会用到,这样你就能实现网页显示前一页的内容,当然也可以每次跳页都查一遍),这里我也推荐一个插件,pager-taglib

用SSH写分页,很快的。不画页面代码5分钟搞定,加页面总共10分钟。页面不需要一句小脚本。

我只讲思路。新建一个PageBean类,封装7个属性。即总页数,每页数据显示条数的大小,上一页,下一页,当前页,总数据条数,和一个List集合。给每页大小赋你自己想控制的值。给当前页赋初始值1。同时要控制溢出,在获得总页数的方法中,返回总数据条数%每页设置的数据大小,当等于0时,就是总数据条数/每页设置的数据大小,如果不等于0就是总数据条数/每页设置的数据大小的商+1。在设置上一页中当传入的上一页小于等于1时让它等于1,设置下一页中当传入的值大于等于总页数时,让它等于总页数。 然后去数据访问层,方法是void fenye(PageBean pb)方法体的中第一条是设置总记录数,这时候要调用SSH集成后自动生成的查询整个数据实体类的方法返回集合的size()方法。然后再使用匿名内部类,query语句查询数据实体类。注意使用匿名实体类时方法中PageBean的参数pb要设为常量。还要设置每页数据的最大值和最小值。最大值就是PageBean中的pb.getPagesize().最小值就是pb.get当前页-1的值再去乘以pb.getPagesize().。然后查询语句返回集合。进Action,再Action中声明一个List 集合的引用。还要设置上一页等于当前页-1.下一页则+1,页面中迭代pb.list,上一页A标签传上一页的中的当前页,下一页也是如此。这就是当前最标准的SSH分页方法, 别看字多,其实 *** 作起来熟练就10分钟。好好理解吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10805834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存