`
ann88884043
  • 浏览: 22067 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

JSP仿百度分页,谷歌分页页码处理

    博客分类:
  • js
 
阅读更多
本文出处: http://blog.csdn.net/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);
               //  }
                  if (pages == pagescount && count % pagesize != 0) {//感谢shixiangkun在博客中提出问题
                      recordend = (int) (recordbegin + (count % pagesize) );
                  }
                //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>
分享到:
评论

相关推荐

    jsp仿百度、谷歌分页解决分页太多,始终显示一部分的页码

    仿百度分页,谷歌分页页码处理 解决分页太多,智能始终显示一部分的效果 可以依照这个思路自己改,很好上手,分页思想 都有注释

    JSP实现百度谷歌分页页码功能源代码

    JSP实现百度谷歌分页页码功能源代码 让你的网页跟百度实现一样的分页功能! 欢迎到我的博客交流探讨此类问题!

    jsp+servlet+oracle模仿百度分页

    带学员课上做的oracle模仿百度分页样式的例子。比较适合初学者参考,jdbc工具类是自己写的,没有使用第三方分页组件。tomcat是apache-tomcat-7.0.41,myeclipse是MyEclipse 9.0,oracle是11g。例子中用的是海量数据...

    可以include的jsp独立分页

    有很详细的注释解释,是中国人都应该看的懂,在你需要的分页的页面嵌入这个jsp,通过修改它的默认属性,和使用它的内置方法,就可以达到分页效果,而且可以有自己的样式效果,以下是例子: 你的页面头顶部加入你的文件路径" ...

    jsp 分页代码大全

    自己收集的jsp分页代码。对于北大青鸟Y2的学员可能有用吧。自己也在做这个项目。这里有增、删、该、查加分页。有上一页、下一页、首页、尾页、第几页、还有带数字和点的分页。可以说是非常好的分页代码。想要的朋友...

    jsp + oracle分页简单实用

    功能:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle --%&gt; ;charset=8859_1" %&gt; //变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 ...

    JAVA分页完美解决方案

    JAVA分页是个经典问题,本人从网上搜集资料,并通过编程,较为完美地决地了这个问题,源码已经上传CSDN,值得下载! 我的方案是用两个TAG完成分页显示...页码格式类似百度和谷歌,比较标准, 用户可输入每页显示的行数。

    JSP下的AJAX分页

    Servlet类中记录当前是第几页。将该页的内容以XML数据格式传递到浏览器中。浏览器读取XML格式中当前的页码。计算上一页和下一页的页码。动态生成显示的内容和更改上一页和下一页的链接中...如此循环及实现分页功能。

    Bootstrap分页条页码过多隐藏部分页码

    当从数据库查出数据过多时,分页条页码太多,将多余部分进行隐藏,永远只显示固定数量的页码

    MySQL真分页(jsp版)

    如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用SelectRS()方法,将SQL语句当前页码和每页要显示的条数...

    jsp+servlet+json分页

    实现了一个简单分页,使用jsp+servlet+json实现,只是一种最最简单的,适合新手去看,大神勿喷!!!

    JAVA分页完美解决方案修订版

    JAVA分页是个经典问题,本人从网上搜集资料,并通过编程,较为完美地决地了这个问题,浏览、增加、删除、修改、查看、搜索都可以回到原来的页码,源码已经上传CSDN,值得下载!...页码格式类似百度和谷歌,比较标准。

    jsp分页插件--PageBean(java源码)

    * PageControl, 分页控制, 可以判断总页数和是否有上下页. * * 2008-07-22 加入输出上下分页HTML代码功能 * * @author HX * @version 1.1 2008-9-22 */ public class PageBean { /** 每页显示记录数 */ ...

    JSP MySQL真分页.rar

    我的名字叫张帅,我很喜欢JSP。刚刚毕业,还没有找到工作,心里是郁闷的很呀~~~,想在网上找点项目去做,可是网上的大团队都很多,所JSP的项目很难找。 我们欧尚团队一共有四个人。一个美工,三个程序员,曾在东北做...

    jsp分页显示数据源代码

    jsp分页显示数据,可运行,我是用jsp+servlet做的一个项目,数据库用mysql

    关于分页的页面控件

    关于分页的jquery实现

    JSP连接SQL数据库实现数据分页显示

    int pageSize;//一页显示的记录数 int totalItem;//记录总数 int totalPage;//总页数 int curPage;//待显示页码 String strPage; int i;... strPage=request.getParameter("page");//获得待显示页码

    JSP数据库操数据分页显示

    &lt;&#37;...charset=8859_1″ %&gt;&lt;&#37;//变量声明java.sql.Connection sqlCon; //数据库连接对象java.sql.Statement sqlStmt; //SQL语句对象java.sql.ResultSet sqlRst; //结果集对象java.lang.String ...

    JSP 分页显示技术

    JSP分页显示技术 在使用数据库显示记录的过程中,一般记录都有很多条。但JDBC的规范对此却没有很好的解决方法。这就需要编程人员自己想办法解决。那么如何实现呢? 基本思路: 首先计算出从数据库中选取的记录总数,...

    其他类别分页 QQ菜单 jsp标签-noka3.9.rar

    "[其他类别]分页 QQ菜单 jsp标签_noka3.9.rar" 是一个针对Java服务器页面(JSP)开发人员的源码资料包。这个压缩文件包含了多个有关实现分页功能的JSP代码片段,以及如何集成QQ菜单和各种JSP自定义标签库的示例。...

Global site tag (gtag.js) - Google Analytics