JSP分页思想2—核心代码

一、通过order by id desc limit ?,? 控制当前页面显示的记录

JSP分页思想2—核心代码

显示第几页,共几页,上一页 下一页

<% 
    int PageSize=2; //一页显示的记录数
    int RowCount=0; //记录总数
    int PageCount=0; //总页数
    int intPage; //待显示页码
    int i;//循环变量
    String strPage = request.getParameter("page");  //取得待显示页码
                    if(strPage==null){
                        //表明在QueryString中没有page这一个参数,此时显示第一页数据
                        intPage = 1;
                    } else{
                        //将字符串转换成整型
                        intPage = java.lang.Integer.parseInt(strPage);
                        //if(intPage<1) intPage = 1;
                    }
                    //获取记录总数
	String sql = "select count(*) from employee_info"; 
try {    Statement stmt = conn.createStatement();// 创建Statement
		 ResultSet rs = stmt.executeQuery(sql); 
	if(rs.next()){ RowCount = rs.getInt(1); }
    	//获取总页数
     if(RowCount%PageSize==0){
		PageCount=RowCount/PageSize;
		}else{PageCount=RowCount/PageSize+1;}
   String  condition="select * from employee_info order by id desc limit ?,?";    
	PreparedStatement ps = conn.prepareStatement(condition); 
	ps.setInt(1, (intPage - 1) * PageSize); 
	ps.setInt(2, PageSize); 
	 rs = ps.executeQuery();// 执行查询操作
	out.print("<table border='1' width='100%'>");
  	out.print("<tr>"); out.print("<th >"+"雇员号"+"</th>");
  	out.print("<th >"+"姓名"+"</th>");
  	out.print("<th >"+"出生日期"+"</th>");
  	 out.print("</tr>");
    while(rs.next()){// 光标向后移动,并判断是否有效
		 out.print("<tr>");
		String id=rs.getString(1);
             out.print("<td >"+id+"</td>"); 
             out.print("<td >"+rs.getString(2)+"</td>");
             out.print("<td >"+rs.getDate("birthday")+"</td>"); 
             out.print("</tr>") ; 
 	}
  	out.print("</table>");
		rs.close();// 关闭ResultSet
		ps.close();// 关闭PreparedStatement
		conn.close();// 关闭Connection
} catch (SQLException e) { e.printStackTrace(); }
                 %>              
 
          <div align="center">
                第<%=intPage%>页 共<%=PageCount%>页
                <%
                if(intPage<PageCount){
                %>
                <a href="admin2.jsp?page=<%=intPage+1%>">下一页</a>
                <%
                 }
                 if(intPage>1){%>
                <a href="admin2.jsp?page=<%=intPage-1%>">上一页</a>
            <%}%>
   </div>

二、显示所有页码

JSP分页思想2—核心代码

前面分页程序不变,只在显示页码处通过循环输出所有页码并做上超链接。

<div align="center">
	第<%=intPage%>页 共<%=PageCount%>页
	<%  StringBuffer sb=new StringBuffer();
	for( i=1;i<=PageCount;i++){
	if(i==intPage){
		sb.append("["+i+"]");
	}else{
		sb.append("<a href='admin2.jsp?page="+i+"'>"+i+"</a>");
	}
	sb.append(" ");
	}%>               
 <% out.print(sb);  %>            
</div>

推荐阅读:JSP+MySQL MVC综合案例:完整的分页查询

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4055.html

(0)
江山如画的头像江山如画管理团队
上一篇 2019年10月30日 上午10:31
下一篇 2019年10月30日 下午4:17

99%的人还看了以下文章

  • NumPy快速入门(一)

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy作为高性能科学计算和数据分析的基础包,是其他重要数据分析工具的基础。 一、认识NumPy数组对象 import numpy as np #导入numpy数据包 data=np.arange(…

    2022年1月24日
    7200
  • 网络编程 ASP.NET(C#)学习笔记二:数据类型-值类型

    C#中数据类型主要分为两大类:值类型和引用类型。本节课主要讲解值类型的分类和结构类型、枚举类型的定义和使用。 值类型: C#中值类型包括3种:简单类型、结构类型和枚举类型。 简单类型包括整数类型、字符类型、实数类型和布尔类型等,在此不做介绍,随便找本书看下即可。 结构类型:用于定义复杂的数据类型。如图书信息(包括书名,作者,出版社,价格等等),坐标点的信息(…

    2018年1月30日
    1.4K0
  • 纯JSP实现计算圆的面积和周长

    一个jsp页面由元素和模板数据组成.元素是必须由jsp容器处理的部分.而模板数据是jsp容器不处理的部分,如jsp中的HTML内容 元素有三种类型: 脚本元素,指令元素, 动作元素 脚本元素:包含三个部分:声明,脚本段,表达式 声明:用于声明在其它脚本元素中可以使用的变量和方法 脚本段:是一段java代码 表达式:java语言中完整的表达式 声明 以<…

    2020年4月3日
    8.4K0
  • 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精)

    很多初学JSP的人,学了JSP页面、javabean技术和Servlet,但并不知道怎么用,什么时候用? 今天我们通过一个求圆面积的实例,分别使用三种方法来实现,深入理解Jsp、javabean、Servlet: jsp页面代码 Javabean Servlet 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精),为12…

    2018年2月22日
    4.9K2
  • 最全的数据结构排序算法实现及比较

    冒泡排序 类似暴力破解,1 – n 个,每个都比较一次。完成排序 public void sort(int[] arr) { int len = arr.length; for (int i = 0; i < len; i++) { for (int j = i + 1; j < len – 1; j++) { if (arr[i] …

    2020年10月13日
    1.3K0
  • opencv 图像旋转 cv2.rotate和np.rot90案例精讲

    OpenCV 方法 OpenCV 中带有一个旋转图像的函数 cv2.rotate rotate(src, rotateCode[, dst]) -> dst参数:src:输入图像rotateCode:旋转方式1、cv2.ROTATE_90_CLOCKWISE:顺时针 90 度2、cv2.ROTATE_180:顺时针 180 度3、cv2.ROTATE_…

    2022年12月1日
    2.0K0

发表回复

登录后才能评论