Hibernate 中的分页显示
这是一个简单分页的的showAllNews.jsp:这儿仅是简单的实现.上下页部分还需大家去完善.
//showAllNews.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="com.*, net.sf.hibernate.*,java.util.*" %>
<%@include file="trans.jsp"%>
<html>
<head>
<title>Hibernate Test</title>
<%
//清除缓存
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>
</head>
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="145">ID号</td>
<td width="54">类别</td>
<td width="471">主题</td>
<td width="144">发布时间</td>
<td width="145">管理</td>
</tr>
<%
String nums=request.getParameter("num");
if(nums==null)nums="0";
int num=0;
num=Integer.parseInt(nums);
net.sf.hibernate.Session hsession = HibernateUtil.currentSession();
Transaction tx = hsession.beginTransaction();
Criteria c =hsession.createCriteria(Devinfo.class);
c.setFirstResult(num);
c.setMaxResults(5);
//Query query = hsession.createQuery ("from Devinfo");
List list=c.list();
for (Iterator it = list.iterator(); it.hasNext();) {
Devinfo devinfo = (Devinfo) it.next();
%>
<tr>
<td><%=devinfo.getNewsid()%></td>
<td><%=devinfo.getTypeId()%></td>
<td><%=trans(devinfo.getSubject())%></td>
<td><%=devinfo.getCdate()%></td>
<td><a href=editNews.jsp?newsid=<%=devinfo.getNewsid()%>>编辑</a> <a href=delNews.jsp?newsid=<%=devinfo.getNewsid()%>> 删除</a></td>
</tr>
<%
}
hsession.flush();
tx.commit();
HibernateUtil.closeSession();
%>
</table>
<p><a href=showAllNews.jsp>首页</a> <a href=showAllNews.jsp?num=<%=num+5%>>下一页</a> <a href=showAllNews.jsp?num=<%=num-5%>>上一页</a></center>
</body>
</html>
//showAllNews.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="com.*, net.sf.hibernate.*,java.util.*" %>
<%@include file="trans.jsp"%>
<html>
<head>
<title>Hibernate Test</title>
<%
//清除缓存
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>
</head>
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="145">ID号</td>
<td width="54">类别</td>
<td width="471">主题</td>
<td width="144">发布时间</td>
<td width="145">管理</td>
</tr>
<%
String nums=request.getParameter("num");
if(nums==null)nums="0";
int num=0;
num=Integer.parseInt(nums);
net.sf.hibernate.Session hsession = HibernateUtil.currentSession();
Transaction tx = hsession.beginTransaction();
Criteria c =hsession.createCriteria(Devinfo.class);
c.setFirstResult(num);
c.setMaxResults(5);
//Query query = hsession.createQuery ("from Devinfo");
List list=c.list();
for (Iterator it = list.iterator(); it.hasNext();) {
Devinfo devinfo = (Devinfo) it.next();
%>
<tr>
<td><%=devinfo.getNewsid()%></td>
<td><%=devinfo.getTypeId()%></td>
<td><%=trans(devinfo.getSubject())%></td>
<td><%=devinfo.getCdate()%></td>
<td><a href=editNews.jsp?newsid=<%=devinfo.getNewsid()%>>编辑</a> <a href=delNews.jsp?newsid=<%=devinfo.getNewsid()%>> 删除</a></td>
</tr>
<%
}
hsession.flush();
tx.commit();
HibernateUtil.closeSession();
%>
</table>
<p><a href=showAllNews.jsp>首页</a> <a href=showAllNews.jsp?num=<%=num+5%>>下一页</a> <a href=showAllNews.jsp?num=<%=num-5%>>上一页</a></center>
</body>
</html>
Jason
2005-08-14 08:54:58
评论:2
阅读:4006
引用:0
bbs中的代码
@2005-08-14 22:31:44 Jason
我们的bbs分页是用什么方法,是上面这种方法吗?可能的话帖一些代码出来看看.
可以封装一下
@2005-08-14 19:11:15 hofman
实际应用的时候,应该在Service里面封装一下,将pno传进去,PageSize应该作为全局常量在inteface里面定义,而不要hard coding。
