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%的人还看了以下文章

  • 第2课:编写第一个C语言程序

      用C语言语句编写的程序称为C程序或C源程序。 下面编写第一个C语言程序,这个程序是在Visual C++ 环境下编译通过的。 Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。 【例1.1】用C语言编写一个…

    2020年4月5日
    2.2K0
  • Java常见面试题200+,学习、面试必备

    本套Java面试题,选取了企业面试最常问到的问题,可以做为Java工程师的面试宝典,也可以做为想要不断完善和扩充自己 java 技术的学习者。 主要包含: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Myb…

    2019年8月29日
    2.7K0
  • jsp日期控件lhgcalendar下载

    资源类别:编程开发软件大小:377KB推荐等级:★★★★★资源语言:简体中文授权方式:免费版软件属性:国产软件应用平台:Win9X,Win2000,WinXP,Win2003,Vista,Unix,Linux lhgcalendar简介 非常好用的JSP日历控件,功能强大。可以实现: 1. 在控件下面或右面弹出日历组件(默认是在下面弹出) 2. 通过按钮或图…

    2019年10月8日
    1.9K0
  • pageEncoding和contentType编码作用和区别详解

    pageEncoding和contentType都用于定义字符编码,两者有什么区别?相信不少初学者都会有疑惑,今天中国网页设计给大家详细解读两者的区别,pageEncoding和contentType都在什么时候起作用。

    2022年12月1日
    1890
  • JS截取字符串方法详解:前面/中间/后面

    JS截取字符串方法,JS的match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 js截取字符串中间的内容 var str = “aaabbbcccdddeeefff”; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee js截取某个字符串前面的内容 var…

    2023年1月5日
    1.5K0
  • python 集合的使用,案例详解

    集合的定义: 1.不同元素组成 2.无序 3.集合中的元素必须是不可变类型 创建集合 s = {1,2,3,4,5,6,7,8} >>> set_test = set(‘hello’) >>> set_test {‘h’, ‘l’, ‘e’, ‘o’}  # 由此可见集合中的元素不可重复,都是不同的 集合运算 集合之间也可…

    2020年1月22日
    2.5K0

发表回复

登录后才能评论