问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中如何实现百度中的分页

发布网友 发布时间:2022-04-29 20:11

我来回答

6个回答

热心网友 时间:2022-04-13 14:45

/**
 * 分页代码
 * 
 * @author Star
 * @version 1.0 2008/07/08
 */
public class CutPage implements Serializable{

private static Log log = LogFactory.getLog(CutPage.class);

private int curPageNo = 0; // 当前页数,从0开始

private int size = 0; // 所有数据条数

private String url; // 页面跳转的路径

private List showList; // 当前页面需要显示的数据列表

private int pageSize = 20;// 每页显示的数据条数

private int groupSize = 1;// 多少页为一组

private String pageNavigation;// 导航条

/**
 * 每次通过sql语句从数据库里面分组取出需要显示的数据
 * 
 * @param request
 *            javax.servlet.http.HttpServletRequest对象
 * @param sql
 *            String 查询数据库的sql语句
 * @param pageSize
 *            int 每页显示的条数
 * @param groupSize
 *            int 分成多少组
 * @param url
 *            String 页面跳转的路径,若没有特殊的参数传递,可以传入null或"",
 *            如是在aciton里面调用,并且action是继承自DispatherAction的话最好传入完整的路径
 */
public void init(HttpServletRequest request, String sql, int pageSize,
int groupSize, int pageNo, String url) {
// 上一页、下一页跳转路径
if (url != null) {
this.url = url;
} else {
this.url = request.getRequestURL() + "";
}
if (pageSize > 0)
this.pageSize = pageSize;// 每页多少条记录
if (groupSize > 0)
this.groupSize = groupSize;

// 当前第几页
if (pageNo < 0) {
this.curPageNo = 0;
} else {
this.curPageNo = pageNo;
}

int curGroup = this.curPageNo / this.groupSize + 1;

// 是否是新的一组数据,如果是则到数据库取数据
this.size = parseInt(request.getSession().getAttribute("page_all_size")
+ "", 0);
if (this.curPageNo % this.groupSize == 0
|| (request.getSession().getAttribute("cur_group") != null && parseInt(
"" + request.getSession().getAttribute("cur_group"), 1) != curGroup)
|| this.size == 0 || request.getParameter("reload") != null) {

request.getSession().setAttribute("cur_group", curGroup);

if (pageNo > 0
&& request.getSession().getAttribute("page_sql") != null) {
sql = request.getSession().getAttribute("page_sql") + "";
} else {
request.getSession().setAttribute("page_sql", sql);
}

this.size = getTotalCount(sql);
List list = getPageData(sql, (this.curPageNo / this.groupSize)
* this.pageSize * this.groupSize, this.pageSize
* this.groupSize);

request.getSession().setAttribute("page_all_size", this.size);
request.getSession().setAttribute("page_cur_list", list);

this.setShowList(list);// 设置页面上的显示数据
} else {
this.setShowList((List) request.getSession().getAttribute(
"page_cur_list"));// 设置页面上的显示数据
}
}

/**
 * 每次通过sql语句从数据库里面分组取出需要显示的数据
 * 
 * @param request
 *            javax.servlet.http.HttpServletRequest对象
 * @param sql
 *            String 查询数据库的sql语句
 * @param pageSize
 *            int 每页显示的条数
 * @param groupSize
 *            int 分成多少组
 * @param url
 *            String 页面跳转的路径,若没有特殊的参数传递,可以传入null或"",
 *            如是在aciton里面调用,并且action是继承自DispatherAction的话最好传入完整的路径
 */
public void init(HttpServletRequest request, String sql, int pageSize,
int groupSize, String url) {
// 当前第几页
String curPage = request.getParameter("pageNo");

init(request, sql, pageSize, groupSize, parseInt(curPage, -1), url);
}

/**
 * 每次通过sql语句从数据库里面分组取出需要显示的数据
 * 
 * @param request
 *            javax.servlet.http.HttpServletRequest对象
 * @param sql
 *            String 查询数据库的sql语句
 * @param pageSize
 *            int 每页显示的条数
 * @param groupSize
 *            int 分成多少组
 * @param url
 *            String 页面跳转的路径,若没有特殊的参数传递,可以传入null或"",
 *            如是在aciton里面调用,并且action是继承自DispatherAction的话最好传入完整的路径
 */
public void init(HttpServletRequest request, String sql, int pageSize,
int groupSize, int pageNo) {
init(request, sql, pageSize, groupSize, pageNo, "");
}

太多了,贴不下,见附件

热心网友 时间:2022-04-13 16:03

1. 前台JS使用的分页代码如下:
2. jsp是servlet代码,就是java,代码见附件。

<HTML>

<HEAD>
    <TITLE>New Document</TITLE>
    <style type="text/css">
.on {
    color: red
}

.off {
    color: black
}

body {
    font-family: "Courier New"
}

ul li {
    color: red
}
    </style>
    <script type="text/javascript">
        window.onload = function() {
            Page.arr = Page.pushArr();
            Page.setClickPageNum();
            Page.allContent("null");
        }
        var Page = {
            defaultPerPageNum: 4,
            arr: null,
            removedBlankStr: function(str) {
                var regex = /^\s*|\s*$/g;
                return str.replace(regex, "");
            },
            setTotalPageNums: function() {
                var pp = Number(Page.perPageNum('t1'));
                var pnums = Page.arr.length / pp > parseInt(Page.arr.length / pp) ? parseInt(Page.arr.length / pp) + 1 : Page.arr.length / pp;
                var div = document.getElementById('pagenum');
                div.innerHTML = "";
                for (var i = 0; i < pnums; i++) {
                    var a = document.createElement('a');
                    a.href = "#";
                    a.innerHTML = i + 1;
                    a.setAttribute('class', 'off');
                    div.appendChild(a);
                    div.innerHTML += "&nbsp;";
                }
                Page.setClickPageNum();
            },
            perPageNum: function(PerPageNum) {
                var pv = document.getElementById(PerPageNum).value;
                pv = Page.removedBlankStr(pv);
                if ("" == pv || isNaN(pv) || (new RegExp(/^[-]*[0]+.*?$/g).test(pv)) || pv < 0) {
                    pv = Page.defaultPerPageNum;
                    document.getElementById(PerPageNum).value = pv;
                }
                document.getElementById('p1').innerHTML = pv;
                return pv;
            },
            getClickPageNum: function(diva) {
                return parseFloat(diva.innerHTML);
            },
            setClickPageNum: function() {
                var divx = document.getElementById('pagenum');
                var a = divx.children;
                var len = a.length;
                for (var i = 0; i < len; i++) {
                    a[i].onclick = function() {
                        this.className = "on";
                        Page.allContent(this);
                    };
                }
            },
            pushArr: function() {
                var arr = new Array();
                var ul = document.getElementById('ul1');
                var len = ul.children.length;
                for (var i = 0; i < len; i++) {
                    arr.push(ul.children[i]);
                }
                return arr;
            },
            allContent: function(divb) {
                var ul = document.getElementById('ul1');
                ul.innerHTML = "";
                var pp = parseFloat(this.perPageNum('t1'));
                if ("null" == divb) {
                    divb = document.getElementById('pagenum').children[0];
                    divb.className = "on";
                }
                var pg = this.getClickPageNum(divb); // 1 2 3
                var ppj = pp * (pg - 1); // 0 4 8
                var end = ppj + pp; // 4 8 12
                var arr = this.arr;
                var pnums = arr.length / pp > parseInt(arr.length / pp) ? parseInt(arr.length / pp) + 1 : arr.length / pp;
                for (var i = ppj; i < end; i++) {
                    var a = arr[i];
                    if (null != a) {
                        ul.appendChild(a);
                    }
                }
            },
            doAction: function() {
                Page.perPageNum('t1');
                Page.setTotalPageNums();
                Page.allContent("null");
            }
        };
    </script>
</HEAD>

<BODY>
    <div id='content'>
        <ul id="ul1">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
        </ul>
        <div id="pagenum"><a href="#" class="on">1</a>&nbsp;<a href="#">2</a>&nbsp;<a href="#">3</a>
        </div>
        <input type="text" value="4" id="t1" />&nbsp;
        <input type="button" value="set" onclick="Page.doAction();" />&nbsp;&nbsp;Each Page
        <a id="p1"></a>Records</div>
</BODY>

</HTML>

 

热心网友 时间:2022-04-13 17:38

java中实现分页本质就是你在数据库查询的时候,获取出该页的数据,然后呈现到前台,首先你需要一下这几个变量:

int PageNow;//当前页码
int PageNum;//一共有多少页
int PageSize;//一页共有多少记录

获取到这些值以后,在数据库中查找;
Select top PageSize * from 数据库名 
where not in (Select top  (PageNow-1)*PageSize  *  from 数据库名)
即可取出你现在要查询的当前页的那些内容。

热心网友 时间:2022-04-13 19:29

百度中的分页具体说什么。一般网页数据分页有两种方式。

利用编写分页类pagebean,设置分页的总页码,当前页,页号,数据集合等,简单来说就是:

       首先在数据库中查询所需要的数据的数目,然后除以设定的每页条数得到总页数,然后        在首页显示前几条(第一页),想要跳转到下一页或者第n页时,则需要通过java类来          选定数据集的某一页(n)的第一个数据,进行第n页的显示,同时将当前第几页传回后        台,方便下一次页面选定,操作比较复杂。

   2. 利用网页插件,比如ext,easyui,等等。利用这些工具。比如利用ext中,可以在页 面        中工具设计好的数据集显示的plane中设置参数pagesize。不但前台页面美观,而且分          页方便。不过需要对该工具有一定了解。

热心网友 时间:2022-04-13 21:37

通过SQL批量查询数据!

热心网友 时间:2022-04-14 00:02

不懂你说的什么意思
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 百度浏览器如何在一个网页中实现分页显示 手机百度更新后怎么分页 百度app怎么没有分页啊,搜两个事情要关掉第一个再搜第二个…… 1992年奥运会体操所有冠军名单 1992年奥运会的吉祥物是什么? 1992年奥运会的美国梦之队阵容 1992年奥运会在哪召开 笔记本的SATA硬盘做成移动硬盘需要外部供电吗? 买个电脑硬盘SATA接口怎么组装成移动硬盘并且是USB接口 系统为什么把我的SATA硬盘识别成移动硬盘了 SATA硬盘被识别为移动硬盘该如何解决? SATA硬盘可以变成移动硬盘?只要加装个移动硬盘盒子? 泡沫清洁剂喷不出来了怎么办 皂液器按不出洗洁精 科学技术如果在未来高度发展,世界会变成什么样子? 科学技术如果在未来高度发展,世界会变成什么样子? 世界将来会 变成什么样子啊? 50年后,世界会变成什么样? 50年后,世界会变成什么样? 辣椒怎么做好吃 ? 百度地图搜索,怎么分页 百度云txt一直显示正在分页中,我该怎么处理? 急急急!如何让百度收录分页? 百度图片,不显示分页,直接显示所有的搜索结果,怎么让显示分页 百度文库怎么复制分页 用手机在百度上看小说,最近一直有分页,如何取消?让一章在同一页全部显示 如何分页 怎样在百度搜索中把自己的网站从第3分页提升到第1页 百度网盘的文件很多,必须通过滚动条来浏览,如何改为分页显示? 为什么我的网站分页被百度收录的很少 ASP分页!百度知道的分页显示是怎么做的?! 分页和分段的区别 如何用AI把下面图片中黑色线构成的图分为一个一个部分,可以分别上色? 求分享一个能代接电话的AI语音助手,有时候开会实在是不方便啊? 如何快速进入文件夹 怎么在电脑上快速打开某一个想要打开的文件夹 用一条线,一个圆一个三角形组成一个美丽的图案,并配上恰当的解说词 如何设置快捷键启动自己想打开的文件夹? 不规则线框构成 如何打开一个快捷方式的文件夹