如果是用DAO类做分页的话,那你就复制我下面这段就可以了,下面这个就是我用的一个DAO中的一个分页显示的方法。
用的是SSH框架:把这个方法复制到你的DAO中,然后在服务层或者直接在表示层ACTION中调用一下,就可以了。
public List pagelist(final int size,final int max,final int curr, final String hql) {
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate (Session session)throws HibernateException, SQLException{
Query query = session.createQuery(hql);
query.setFirstResult(size*curr);
query.setMaxResults(max);
List list=query.list();
return list;
}
});
return list;
}
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.util.*"%>
<html>
<head>
<script language="javaScript">
function openPage(curpage)
{
document.spage.cp.value = curpage ;
// alert(cupage) ;
document.spage.submit() ;
}
</script>
</head>
<body>
<%
// 定义如下分页变量
// 1、定义每页要显示的记录数,默认是10条每页
int lineSize = 15 ;
// 2、定义一个当前是第几页
int currentPage = 1 ;
// 计算出总页数
int pageSize = 0 ;
// 总记录数 / 每页显示的记录数
int allRecorders = 0 ;
%>
<%
// 全部数据
List all = (List)request.getAttribute("all") ;
if(request.getAttribute("currentPage")!=null)
currentPage=request.getAttribute("currentPage");
if(request.getAttribute("allRecorders")!=null)
currentPage=request.getAttribute("allRecorders");
if(request.getAttribute("currentPage")!=null&&request.getAttribute("allRecorders")!=null)
pageSize = (allRecorders+lineSize-1)/lineSize ;
%>
<form name="spage" action="PageServlet">
<%
if(allRecorders>0)
{
%>
<input type="button" value="首页" onClick="openPage(1)" <%=currentPage==1?"disabled":""%>>
<input type="button" value="上一页" onClick="openPage(<%=currentPage-1%>)" <%=currentPage==1?"disabled":""%>>
<input type="button" value="下一页" onClick="openPage(<%=currentPage+1%>)" <%=currentPage==pageSize?"disabled":""%>>
<input type="button" value="尾页" onClick="openPage(<%=pageSize%>)" <%=currentPage==pageSize?"disabled":""%>>
<input type="hidden" name="cp" value="">
<font color="red" size="5"><%=currentPage%></font>
/
<font color="red" size="5"><%=pageSize%></font>
页
<%
}
%>
</form>
<table>
<tr >
<th align=center>序号</th>
<th align=center>ID</th>
<th align=center>Name</th>
<th align=center>Job</th>
<th align=center>Address</th>
<th aligh=center>Update</th>
<th aligh=center>Delete</th>
</tr>
<%
Iterator iter = all.iterator() ;
int i=1;
while(iter.hasNext())
{
还有.等
<servlet> <servlet-name>PageServlet</servlet-name> <servlet-class>servlet.PageServlet</servlet-class></servlet><servlet-mapping> <servlet-name>PageServlet</servlet-name> <url-pattern>/PageServlet</url-pattern></servlet-mapping><welcome-file-list> <welcome-file>welcome.html</welcome-file> </welcome-file-list> 自己建立相应的文件把代码复制进去就可以了
你的数据库设计有主键吗?
可定义两个变量如:
int size;当前页要显示的数据条数
int pages;当前第[pages] 页
通过每次更改pages 重新传sql语句可实现分页
如:
String sqlstr="select top "+size+"* from tableName where id in(select top "+size*pages+" *from tableName ) and id not in (select top "+(size*pages-1)+") *from tableName)"
很实用的,你试一下吧
有啊
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....