spring+hibernate分页标签,修改jpager

以前写的,添加进来!

jpager是通过把所有查询数据都存放在session中进行分页,当数据量大切换时就比较缓慢,修改之后,通过hibernate在数据库底层进行分页
但修改后有些不足,标签主要用来管理导航栏,在java代码中得进行一些设置!
在XXXXDAO中得定义下面的方法
//sql是查询语句
//pagesize是每页记录数
//pageno是当前页面数
public List pageList(String sql,int pagesize,int pageno){
Session session = this.getSession();
Query query = session.createQuery(sql);
query.setFirstResult((pageno - 1) * pagesize);
query.setMaxResults(pagesize);
List list=query.list();
return list;
}

在相对应的控制器中XXXXController(extends MultiActionController)
要设置private int pagesize;//通过set/get注入数值
public ModelAndView displayXXX(HttpServletRequest req,HttpServletResponse res){
.......
List list = this.getCompanyDAO().getAll();
int size =list.size();
if(size>0){
String pagen =(String) req.getParameter("pageNo");
String s = String.valueOf(size);
int pageno;
if (pagen==null){
pageno =1;
}else{
pageno = Integer.parseInt(pagen);
}
List XXXXs =this.getXXXXDAO().pageList("from XXXX", pagesize, pageno);
req.setAttribute("total",s);
req.setAttribute("pageNo", String.valueOf(pageno));
req.setAttribute("pageSize", String.valueOf(pagesize));
return new ModelAndView(this.getXXXXPage(),"XXXXs",XXXXs);

在页面中
.....
<%@taglib prefix="page" uri="http://jpagerxp.com/taglibs/page" %>
.......
<c:forEach var="result" items ="${XXXXs}" varStatus="status">
<tr>
<td><input type="checkbox" name="id" value="${result.id}" /></td>
<td>${result.name}</td>
</tr>
</c:forEach>
<tr class="ttd">
<td colspan="2" align="center">
<page:bt/>//调用标签
</td>
</tr>
请大家提些意见!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值