像百度一样的jsp分页效果,像goolge一样的分页效果!

本文介绍了一种模仿百度和谷歌分页效果的JSP实现方式,通过设定参数来分页显示记录内容,并提供了具体的Java代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请勿删除此消息 本文出处: http://blog.youkuaiyun.com/tolys/archive/2007/10/06/1813197.aspx

 像百度一样的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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值