JSP中实现像Google和百度一样的分页效果

时间:2021-05-02

百度和Google的分页效果非常好,本文就介绍了具体的实现效果。像百度一样的jsp分页效果,像goolge一样的分页效果! 根据设定参数一次取一页记录内容显示处:

<%@ page language="java" pageEncoding="GB2312"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>仿BAIDU & GOOGLE 分页页码显示格式</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <style> <!-- body{ .p{ PADDING-LEFT: 18px; FONT-SIZE: 14px; WORD-SPACING: 4px } } --> </style> </head> <body> <div class="p"> <% int pagesize = 10;//每页显示记录数 int liststep = 20;//最多显示分页页数 int pages = 1;//默认显示第一页 if (request.getParameter("pages") != null) { pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量 } //sql="select count(*) from table";//取出记录总数,把*换成记录名性能更加 int count = 305;//假设取出记录总数 int pagescount = (int) Math.ceil((double) count / pagesize);//求总页数,ceil(num)取整不小于num if (pagescount < pages) { pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数 } if (pages < 1) { pages = 1;//如果分页变量小于1,则将分页变量设为1 } int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息 if (listbegin < 1) { listbegin = 1; } int listend = pages + liststep/2;//分页信息显示到第几页 if (listend > pagescount) { listend = pagescount + 1; } //显示数据部分 int recordbegin = (pages - 1) * pagesize;//起始记录 int recordend = 0; recordend = recordbegin + pagesize; //最后一页记录显示处理 if (pages == pagescount) { recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1); } //Connection conn = null;//要测试显示数据请自己链接数据库 //PreparedStatement stmt = null; //String strSql = "select * from usertable limit recordbegin,pagesize";//取出分页记录,SQL因数据库而异! //stmt = conn.prepareStatement(strSql); //ResultSet rs = stmt.executeQuery(); //while(rs.next())){ // response.getWriter().println(""+rs.getString("userId")+"<br>");//显示取出的数据 //} for (int i = recordbegin; i < recordend; i++) { response.getWriter().println("record " + i + "<br>"); } //显示数据部分 //<显示分页信息 //<显示上一页 if (pages > 1) { response.getWriter().println( "<a href=?pages=" + (pages - 1) + ">上一页</a>"); }//>显示上一页 //<显示分页码 for (int i = listbegin; i < listend; i++) { if (i != pages) {//如果i不等于当前页 response.getWriter().println( "<a href=?pages=" + i + ">[" + i + "]</a>"); } else { response.getWriter().println("[" + i + "]"); } }//显示分页码> //<显示下一页 if (pages != pagescount) { response.getWriter().println( "<a href=?pages=" + (pages + 1) + ">下一页</a>"); }//>显示下一页 //>显示分页信息 %> </div> </body></html>

本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章