您的位置:首页 > Web前端 > JavaScript

JSP页面中使用分页技术(整理)

2013-05-18 17:55 429 查看
1,首先在页面中加入如下代码(所有代码在同一个页面中)

<%
//定义四个分页会用到的变量
int pageSize=6;		//每页显示的记录数
int pageNow=1;		//当前页数, 默认显示第一页
int rowCount=0;		//总记录数, 该值从数据库中查询
int pageCount=0;	//总页数, 该值是通过rowCount/pageSize得到的
String s_pageNow=request.getParameter("pageNow");//接受用户希望显示的页数(pageNow)
if(s_pageNow!=null){	//接收到了pageNow
pageNow=Integer.parseInt(s_pageNow);
}
DBconnection conn=new DBconnection();
String sql="select count(*) from tb_product";
ResultSet rs=conn.executeQuery(sql);
if(rs.next()){	//得到总记录数
rowCount=rs.getInt(1);
}
if(rowCount%pageSize==0){	//计算pageCount
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
%>


2,在页面中使用分页代码,假如我要网页中显示的是新闻信息:

<%
DBconnection conn2=new DBconnection();
//关键代码sql2,以下SQL语句的意思是:举个例子:
//(1)如果用户请求的是第一页:
//pageSize*pageNow-1=0,括号里的 select top(0) newsID from tb_news子句就没有查到newID,
//所以:以下的SQL意思就是查询前pageSize条记录显示在第一页;
//(2)如果用户请求的是第二页:
//pageSize*pageNow-1=6,括号里的 select top(6) newsID from tb_news子句查到的就是第一页的6条记录
//加上not in,
//则整个SQL语句的意思就是:除了第一页的6条记录外,显示剩下记录的前6条,也就是第二页的要显示的内容。
//(3)以此类推...
String sql2="select top "+pageSize+" * from tb_news where newsID not in(select top "+pageSize*(pageNow-1)+" newsID from tb_news) ";
ResultSet rs2=conn2.executeQuery(sql2);
while(rs2.next()){//内容的显示
int id=rs2.getInt("newsID");
String title=rs2.getString("newstitle");
Date date=rs2.getDate("newsDate");
out.print("<tr><td class=\"time-list\">"+date+"</td>");
out.print("<td class=\"time-list\"><a href=\"readnews.jsp?id="+id+"\">"+title+"</a></td></tr>");
}
rs1.close();
conn1.close();
%>

3,显示分页的状态栏,如下图:

当前页为第一页的时候:(没有“上一页”)



当前页为第二页的时候:



当前页为第三页(最后一页)的时候:(没有“下一页”)



 

 

<%
if(pageNow!=1){//当前页不是第一页,显示"上一页"超链接
out.println("<a href=news.jsp?pageNow="+(pageNow-1)+">上一页</a>");
}
for(int i=1;i<=pageCount;i++){//显示第几页,如:[1][2][3]...
out.println("<a href=news.jsp?pageNow="+i+">["+i+"]</a>");
}
if(pageNow!=pageCount){//当前页不是最后一页,显示"下一页"超链接
out.println("<a href=news.jsp?pageNow="+(pageNow+1)+">下一页</a>");
}
%>

当然,你自己可以加以些“首页”,“尾页”,“跳到哪一页”等操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: