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

发表回复

登录后才能评论