Struts+Hibernate实现分页功能

 学过Hibernate的程序员都知道,在Hibernate中为用户准备好了分页数据库的功能。也就是两句话:

query.setFirstResult(pageStartRow);
query.setMaxResults(pageSize);

最近开始学Hibernate就写了一个分页的功能,很实用,实现了跳转到相应的页:GO,和用户可选的页面显示数据的数量,与大家分享下,如果有不正确的地方请大家多多指出。谢谢,就不多说废话了.....

 首先我们准备一个 Pager.java

 

 

 

然后我们需要一个工具类,用于获得一个Pger对象,在Action中使用:

PagerUtil.java

 

 

Struts中Action的代码如下:

 

 

以上的Action使用了Hibernate中的两个方法:

1.totalCount():得到总数据量;

2.selectStudentList(pager.getPageSartRow(),pager.getPageSize()); 得到请求的List

 

Hibernate范围中的代码如下:

 

 

 

最后我们来看看前台代码:

 

 

 

从jsp页面上可以看到,我把分页模拟成了一个组件化的用例,放在一个table中,我们可以在任何一个项目中使用它,只要能将代码复制即可,当然还要修改下请求的路径,这个就要以项目为中心了,这里的请求我大多是用的javasript,因为我们必须在没有表单的情况下获得用户的输入和选择,所以我选择了JavaScript,当然还有很多方法,大家有兴趣可以去研究。由于我在代码中注释都写得很清楚,所以我在这里只是讲下其中一个路径问题:stutent.do?dowhat=all&pagedo=next&current=${pager.currentPage}&showcount=" + count

dowhat : 这是Action的请求,我用的是DispatchAction,这里指的是Action的请求参数;

current :当前页,从request中获得;

showcount: 用户选择的当前显示多少行数据,也就是pager的pageSize;

gocount : 用户输入的转到第几个的数值;

 

在贴出学习时对分页的分析图片吧:

 

http://b31.photo.store.qq.com/http_imgload.cgi?/rurl4_b=25b845d29607d32ca11c8a09617bf58b9889eb6d2c485aacff502cc045c39bc12e64069bea3681c5d7142e01c1ce54705b0698c740fe83c34a8bc4fef145d592f04a7df7e340263f8e4c7ae787515f321b1f26dc&a=25&b=31

 

还有本例的图样,大家可以先睹为快:

 

http://b31.photo.store.qq.com/http_imgload.cgi?/rurl4_b=25b845d29607d32ca11c8a09617bf58b1b7471265f322d130cd674d75cc0fb024fff79b1394f042be3cc3104c3c82414dfac42b6a8edc705f556ff996e15d4f4d10233e3b90edcd1c1ffd94321af0177191a7b35&a=31&b=31

 

就是这么多,希望对大家有所帮助!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值