Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 861|回复: 0

jsp分页详细教程

[复制链接]

该用户从未签到

发表于 2011-7-31 22:14:57 | 显示全部楼层 |阅读模式
JSP分页教程

<HTML xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>【Gjava人才】jsp教程</title>
<%
//连接字符串
Class.forName("org.gjt.mm.mysql.Driver");
Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/sms","sms","sms");
Statement statement = connection.createStatement();
LinuxMySql lm = new LinuxMySql();

//每页显示记实数
int PageSize = 8;
int StartRow = 0; //开始显示记实的编号
int PageNo=0;//需要显示的页数
int CounterStart=0;//每页页码的初始值
int CounterEnd=0;//显示页码的最大值
int RecordCount=0;//总记实数;
int MaxPage=0;//总页数
int PrevStart=0;//前一页
int NextPage=0;//下一页
int LastRec=0;
int LastStartRecord=0;//最后一页开始显示记实的编号

//获取需要显示的页数,由用户提交
if(request.getParameter("PageNo")==null){ //假如为空,则表示第1页
if(StartRow == 0){
PageNo = StartRow + 1; //设定为1
}
}else{
PageNo = Integer.parseInt(request.getParameter("PageNo")); //获得用户提交的页数
StartRow = (PageNo - 1) * PageSize; //获得开始显示的记实编号
}

//由于显示页码的数目是动态变化的,如果总共有一百页,则不可能同时显示100个链接。而是根据当前的页数显示
//一定数目的页面链接

//设置显示页码的初始值!!
if(PageNo % PageSize == 0){
CounterStart = PageNo - (PageSize - 1);
}else{
CounterStart = PageNo - (PageNo % PageSize) + 1;
}

CounterEnd = CounterStart + (PageSize - 1);
%>

<html>
<head>
<title>分页显示记实</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<%

//获取总记实数
ResultSet rs = statement.executeQuery("select count(*) from sm_asend" );
rs.next();
RecordCount = rs.getInt(1);

rs = statement.executeQuery("SELECT sm_da,sm_st,sm_ud FROM sm_asend ORDER BY sm_no DESC LIMIT "
+StartRow+", "+PageSize);

//获取总页数
MaxPage = RecordCount % PageSize;
if(RecordCount % PageSize == 0){
MaxPage = RecordCount / PageSize;
}else{
MaxPage = RecordCount/PageSize+1;
}
%>
<body class="UsePageBg">
<table width="100%" border="0" class="InternalHeader">
<tr>
<td width="24%"><font size=4>分页显示记实</font></td>
<td width="76%">
<font size=4><%="总共"+RecordCount+"条记实 - 当前页:"+PageNo+"/"+MaxPage %></font>
</td>
</tr>
</table>

<br>
<table width="100%" border="0" class="NormalTableTwo">
<tr>
<td class="InternalHeader" >对方电话</td>
<td class="InternalHeader" >发送日期</td>
<td class="InternalHeader" >发送内容</td>

</tr>

<%
int i = 1;
while (rs.next()) {
%>
<tr>
<td class="NormalFieldTwo" ><%=lm.split86(rs.getString(1))%></td>
<td class="NormalFieldTwo" ><%=lm.dateLog(rs.getString(2))%></td>
<td class="NormalFieldTwo" ><%=lm.unicode2String(rs.getString(3))%></td>

</tr>
<%
i++;
}%>
</table>
<br>
<table width="100%" border="0" class="InternalHeader">
<tr>
<td><div align="center">
<%
out.print("<font size=4>");
//显示第一页或者前一页的链接
//假如当前页不是第1页,则显示第一页和前一页的链接
if(PageNo != 1){
PrevStart = PageNo - 1;
out.print("<a href=fenye.jsp?PageNo=1>第一页 </a>: ");
out.print("<a href=fenye.jsp?PageNo="+PrevStart+">前一页</a>");
}
out.print("[");

//打印需要显示的页码
for(int c=CounterStart;c<=CounterEnd;c++){
if(c <MaxPage){
if(c == PageNo){
if(c %PageSize == 0){
out.print(c);
}else{
out.print(c+" ,");
}
}else if(c % PageSize == 0){
out.print("<a href=fenye.jsp?PageNo="+c+">"+c+"</a>");
}else{
out.print("<a href=fenye.jsp?PageNo="+c+">"+c+"</a> ,");
}
}else{
if(PageNo == MaxPage){
out.print(c);
break;
}else{
out.print("<a href=fenye.jsp?PageNo="+c+">"+c+"</a>");
break;
}
}
}

out.print("]");;

if(PageNo < MaxPage){ //假如当前页不是最后一页,则显示下一页链接
NextPage = PageNo + 1;
out.print("<a href=fenye.jsp?PageNo="+NextPage+">下一页</a>");
}

//同时假如当前页不是最后一页,要显示最后一页的链接
if(PageNo < MaxPage){
LastRec = RecordCount % PageSize;
if(LastRec == 0){
LastStartRecord = RecordCount - PageSize;
}
else{
LastStartRecord = RecordCount - LastRec;
}

out.print(":");
out.print("<a href=fenye.jsp?PageNo="+MaxPage+">最后一页</a>");
}
out.print("</font>");
%>
</div>
</td>
</tr>
</table>
<%
rs.close();
statement.close();
connection.close();
%>
</body>
</html>
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2011-7-31 22:21:43 | 显示全部楼层
    谢谢楼主分享。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-24 02:32 , Processed in 0.369277 second(s), 45 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表