jsp分页技术
来源:互联网 发布:测试工程师 知乎 编辑:程序博客网 时间:2024/06/14 14:38
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
//连接字符串
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://202.117.16.97:3306/yuqing","root","root");
Statement statement = conn.createStatement();
//每页显示记录数
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(topic_id) from topic_5,event_copy where topic_5.topic_id=event_copy.topic_Type group by topic_id " );
rs.next();
RecordCount = rs.getInt("count(topic_id)");
rs = statement.executeQuery("select topic_name,title from topic_5,event_copy where topic_5.topic_id=event_copy.topic_Type and topic_5.topic_id!=-1 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="4px">分页显示记录</font></td>
<td width="76%">
<font size="4px"><%="总共"+RecordCount+"条记录 - 当前页:"+PageNo+"/"+MaxPage %></font>
</td>
</tr>
</table>
<br>
<table width="100%" border="0" class="NormalTableTwo">
<%
int i = 1;
while (rs.next()) {
int bil = i + (PageNo-1)*PageSize;
%>
<tr><td><font color="black"><%=rs.getString("topic_name")%></font></td><td><font color="black"><%=rs.getString("title")%></font></td></tr>
<% }%>
</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();
%>
</body>
</html>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
//连接字符串
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://202.117.16.97:3306/yuqing","root","root");
Statement statement = conn.createStatement();
//每页显示记录数
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(topic_id) from topic_5,event_copy where topic_5.topic_id=event_copy.topic_Type group by topic_id " );
rs.next();
RecordCount = rs.getInt("count(topic_id)");
rs = statement.executeQuery("select topic_name,title from topic_5,event_copy where topic_5.topic_id=event_copy.topic_Type and topic_5.topic_id!=-1 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="4px">分页显示记录</font></td>
<td width="76%">
<font size="4px"><%="总共"+RecordCount+"条记录 - 当前页:"+PageNo+"/"+MaxPage %></font>
</td>
</tr>
</table>
<br>
<table width="100%" border="0" class="NormalTableTwo">
<%
int i = 1;
while (rs.next()) {
int bil = i + (PageNo-1)*PageSize;
%>
<tr><td><font color="black"><%=rs.getString("topic_name")%></font></td><td><font color="black"><%=rs.getString("title")%></font></td></tr>
<% }%>
</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();
%>
</body>
</html>
0 0
- JSP分页技术实现
- JSP分页技术一
- JSP分页技术二
- JSP分页技术实现
- JSP分页技术实现
- JSP分页技术实现
- jsp实现分页技术
- JSP分页技术实现
- JSP分页技术实现
- jsp分页技术
- JSP分页技术实现
- JSP分页技术实现
- JSP分页技术
- 纯jsp分页技术
- JSP分页技术
- JSP分页技术小结
- Jsp 分页技术
- JSP分页技术实现
- (转载)重新对APK文件签名
- 使用Myeclipse创建自定义签名debug keystore
- 【Hadoop技术博客推荐】Hive的那些事
- Linux基本操作命令
- MyEclipse 快捷键
- jsp分页技术
- VC6 编译对讲程序错误提示
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- the introduction of the hadoop
- 坚定的信念
- 黑马程序员-学习日志-RandomAccessFile
- 8583
- JAVA反射机制与动态代理
- 1006Let the Balloon Rise ( 让气球上升)