JSP分页关键代码详解
以BBS为例:
<%
int intPageSize;//每一页显示的帖子主题数量;
int intRowCount;//所有帖子数;
int intPageCount;// 定义总页码;
int intPage;//具体页码;
java.lang.String strPage;//用来接收传递过来的页码;
intPageSize=10;//每页10条帖子;
strPage=request.getParameter(“page”);// 得到上一页传递过来的页码;
if(strPage==null){
intPage=1;
}
else{
intPage=java.lang.Integer.parseInt(strPage);// 这是格式转换,把传递过来页码转换成整形;
if(intPage<1)
intPage=1;
}
rs.last();// 指针指向数据库末尾;
intRowCount=rs.getRow();// 通过上一步,得到数据库中所有帖子的数量;
intPageCount=(intRowCount+intPageSize-1)/intPageSize;//计算出总页码;
if(intPage>intPageCount) intPage=intPageCount;
if(intPageCount>0){
rs.absolute((intPage-1)*intPageSize+1;);}
//这是分页中最重要的一个指针定位函数absolute,
它可以把指针指向数据库在本页显示帖子的起始位置。
例如 要读取第2页的帖子,改指针就指向第(2-1)*10+1=11条帖子的位置,
从而使数据库从第11条读出。 %>
———-这里是读取数据———————
下面是如何传递页码:
<% int i;
for(i=1;i<=intPageCount;i++) { %>
<a href=”message.jsp?page=<%=i%>”><%=i%>.</a>
<%} %>
<% if(intPage<intPageCount){%>
<a href=”message.jsp?page=<%=i%>”>最后一页.</a><%}%>
<% if(intPage>1){%>
<a href=”message.jsp?page=<%=intPage-1%>”>前一页.</a><%}%>
<% if(intPage<intPageCount){%>
<a href=”message.jsp?page=<%=intPage+1%>”>后一页.</a><%}%>
  总【<%=intPageCount%>】页</font></td></tr>
大体重要的都在这里啦,大家还有什么问题可以再交流,我天天在线哦!
Surrpisingly well-written and informative for a free online article.
[回复]