站内搜索: 请输入搜索关键词

当前页面: JAVA 编程资料牛鼻论坛J2ee & 企业开发技术区→spring+hibernate分页标签,修改jpager

spring+hibernate分页标签,修改jpager

发表新主题   回复此主题

第1楼 2007-09-19 09:38 kakaxixp 写道:

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>
请大家提些意见!

这里不能上传文件?

第2楼 2013-08-31 12:44 Robot :

spring+hibernate分页标签,修改jpager 相关


发表新主题   回复此主题