`
huangshihang
  • 浏览: 12262 次
社区版块
存档分类
最新评论

Web开发:分页技术的实现(上)——jBootstrapPage.js+ajax

阅读更多

    在Web开发过程中常常需要查看数据列表,为了能够有效的展示数据列表,需要使用到分页技术,该技术可以分为前端和后端两个部分,前端实现显示当前页的数据以及上下翻页功能,后端实现查询数据记录总数查询和查询出当前页需要显示的数据并传回前端。

    前端实现:jBootstrapPage.js+ajax

    (1)jBootstrapPage.js的使用,需要三个参数,一页显示的数据行数,翻页功能按钮最多出现的个数以及总数据量。在function中实现我们需要的功能。

function createPage(pageSize, buttons, total) {
                $(".pagination").jBootstrapPage({
                    pageSize : pageSize,
                    total : total,
                    maxPageButton:buttons,
                    onPageClicked: function(obj, pageIndex) {
                           //实现功能
                    }
                });
        }

 在页面加载前我们首先查询数据库得到我们的数据总量,然后调用以上函数便能在页面上添加翻页功能按钮

其中,页面内容:

<form>
                    <table class="table table-bordered">
                           <thead>
                              <tr>
                                 <th></th>
                                 <th></th>
                              </tr>
                           </thead>
                           <tbody>
                           </tbody>
                    </table>
                </form>
                </div>
                <div>
                    <ul class="pagination"></ul>              //翻页功能按钮模块
                </div>

 html依赖的脚本:

<script language="javascript" type="text/javascript" src="../resource/js/jquery-1.7.1.min.js"></script>
 <script language="javascript" type="text/javascript" src="../resource/js/jBootstrapPage.js"></script>

     (2)ajax异步获取后台数据的页面脚本:首先向countContractsAjaxAction.action请求获取记录总数,创建按钮模块,并且绑定按钮点击时需要访问的action,刚加载页面时需要显示第一页数据,所以向contracts_url(一个action)获取首页数据并显示使用jquery添加表元素,

$(document).ready(function(){
            count_contracts_ajax("countContractsAjaxAction.action");      //后台使用struts2
 })

function count_contracts_ajax(urlparam){
            $.ajax({
                type: "post",
                url: urlparam,
                data: null,
                success: function (result) {      //result为json格式数据,count是总记录数
                    createPage(10, 10, result.count,contracts_url);//创建翻页功能按钮,翻
                    if(result.count == 0){                          //页向后台请求连接
                        alert("no records exist!");
                    }else{                              //如果总数不为空查询列出当前页数据
                        $("tbody").empty();                       //首先清空表中内容
                        list_contracts_ajax(contracts_url);
                    }
                }
            })
        }

        为了能够在创建翻页模块的同时能够加载页面数据,在函数参数中增加了请求加载数据的action,点击的时候请求特定的页的数据,这些参数异步传到后台

function createPage(pageSize, buttons, total, contracts_url) {        //contracts_url为点击
                $(".pagination").jBootstrapPage({      //功能按钮后需要访问action路径
                    pageSize : pageSize,
                    total : total,
                    maxPageButton:buttons,
                    onPageClicked: function(obj, pageIndex) {
                        $("tbody").empty();                                  //清空
                        contracts_url = contracts_url.replace("pageIndex=1", "pageIndex="+    (pageIndex+1));                                         //显示当前页,向action传递参数
                        list_contracts_ajax(contracts_url);
                    }
                });
        }

          点击翻页按钮触发的函数如下,它通过异步的方式查寻后台数据库获取当前页的数据并插入表中

function list_contracts_ajax(urlparam){
                $.ajax({
                    type: "post",
                    url: urlparam,
                    data: null,
                    success: function (result) {
                        //alert(result.length);
                        for(var i = 0;i < result.length; i++){   //json格式,多行数据的数组
                            var tr = $("<tr></tr>");                      //一行记录
                            tr.appendTo($("tbody"));
                            var td = $("<td>"+result[i].contract_id+"</td>");    //第一列
                            td.appendTo(tr);
                            td = $("<td></td>"); //第二列,加入button以便对当前行进行操作
                            var detailbt = $("<button type='button' class='btn btn-default btn-sm' onclick='complete_contract(this)'>详情</button>");
                            detailbt.appendTo(td);
                            td.appendTo(tr);
                        }

                    }
                })
        }

         总结:

        在页面加载时,调用函数生成翻页按钮模块(一次请求),并在表中插入第一页的数据(两次请求),当点击翻页的时候请求当页的数据(一次翻页一次请求)

        相关内容:

(1)Web开发:分页技术的实现(中)——Struts2+json

(2)Web开发:分页技术的实现(下)——Hibernate查询

(3)Web开发:Struts2 Spring Hibernate整合(一)——Struts2的使用

(4)Web开发:Struts2 Spring Hibernate整合(二)——Spring的使用

(5)Web开发:Struts2 Spring Hibernate整合(三)上——Hibernate的使用

(6)Web开发:Struts2 Spring Hibernate整合(三)下——Hibernate的使用

分享到:
评论

相关推荐

    node.js+express+mysql实现增删改查+分页+文件上传

    在本文中,我们将深入探讨如何使用Node.js、Express框架和MySQL数据库来构建一个功能完备的Web应用程序,包括数据的增删改查(CRUD)操作、分页功能以及图片的上传处理。首先,我们先来了解这三个核心组件。 **Node...

    turn.js+pdf.js资源

    Turn.js和PDF.js是两个在Web开发中用于处理文档展示的JavaScript库,它们分别专注于不同的领域,但可以协同工作以提供出色的用户体验。Turn.js是一个轻量级的库,主要用于创建具有翻页效果的数字杂志、电子书或者...

    Jquery.Pagination.js + Jquery.Ajax + ASP.NET----无刷新分页Pagination 1.5.1

    Jquery.Pagination.js + Jquery.Ajax + ASP.NET----无刷新分页Pagination 1.5.1,是在原作者基础上修改的,因为Pagination 1.5.1与它的低版本有很大的区别,所以在此实例中增加了新版的使用方法

    使用Jquery.Pagination.js+ASP.NET实现无刷新分页

    此源码使用了Jquery.Pagination.js+Jquery.Ajax+Asp.net技术实现了无刷新分页的效果。其中用到的Asp.net知识有Linq to sql和ashx技术。分页插件可以自定义样式,自定义的样式在pagenumstyle.css文件中。项目使用vs...

    用案例学Java Web整合开发:Java+Eclipse+Struts 2+Ajax

    Java Web整合开发是构建Web应用程序的关键技术,涵盖了Java语言、Eclipse集成开发环境(IDE)、Struts 2框架以及Ajax异步JavaScript和XML技术。这个主题深入探讨了这些技术如何协同工作,创建出高效、用户友好的Web...

    基于Jquery+Ajax+Json实现分页显示附效果图

    ### 基于JQuery、Ajax与JSON实现分页显示技术解析 #### 技术背景与应用场景 在现代Web开发中,数据展示是一项至关重要的功能。随着数据量的增长,简单的列表展示方式已不能满足用户体验的需求。为了提升用户体验,...

    异步请求分页示例:handler.ashx + $.ajax() + Json + 分页处理

    在IT行业中,异步请求和分页是网页应用中常见的技术。这个示例结合了`handler.ashx`处理程序、`$.ajax()`方法、JSON数据格式以及前端分页处理,构建了一个高效的分页系统。下面我们将详细探讨这些知识点。 首先,`...

    jquery.tablesorter.js +排序、分页、ajax demo

    本文将围绕"jquery.tablesorter.js +排序、分页、ajax demo"这一主题,深入探讨tablesorter插件的核心功能和实际运用。 首先,tablesorter是一个强大的jQuery插件,由Christian Bach开发,主要用于表格的排序功能。...

    jq.ajax+php+mysql实现分页显示数据

    在网页开发中,数据展示是不可或缺的一环,尤其是在大数据量的情况下,分页显示就显得尤为重要。本教程将详细讲解如何利用jQuery的AJAX技术、PHP后端处理以及MySQL数据库来实现动态分页显示数据。 首先,我们需要...

    网页模板——vue.js图标列表分页实例特效源码.zip

    Vue.js是一种流行的JavaScript框架,用于构建用户界面,尤其在单页面应用程序(SPA)开发中广泛应用。这个"网页模板——vue.js图标列表分页实例特效源码.zip"压缩包包含了一个基于Vue.js的网页模板,该模板展示了一...

    php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页

    php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax分页php+ajax...

    jQuery+Ajax+PHP无刷新分页

    在现代Web开发中,用户界面的响应性和用户体验至关重要。无刷新分页是一种技术,它允许用户在浏览网页内容时,无需加载整个页面就能切换到不同的页面,提高了浏览效率。本文将深入探讨如何通过jQuery、Ajax和PHP实现...

    php+ajax web2.0编程技术与项目开发大全中的FYblog可安装代码

    2. Ajax:Ajax并非一种单一的技术,而是一种使用JavaScript进行异步数据交换的方法,无需刷新整个页面即可更新部分网页内容。在FYblog中,Ajax用于实现如评论即时加载、无刷新分页、动态搜索等功能,提高了用户体验...

    thinkphp+ajax无刷新分页

    为了提升用户体验,无刷新页面更新技术变得越来越流行,其中AJAX(Asynchronous JavaScript and XML)成为了实现这一目标的重要工具。结合ThinkPHP框架,可以轻松实现数据的异步加载,从而达到页面局部更新的效果,...

    jBootstrapPage

    jBootstrapPage.js 是一个基于 jQuery 的轻量级分页插件,它充分利用了 Bootstrap 的样式,使得分页效果既美观又易于实现。本文将详细介绍 jBootstrapPage.js 的核心特性、使用方法以及如何将其整合到项目中。 ### ...

    jQueryPager(JQuery分页插件pagination实现Ajax分页)

    **jQueryPager:基于JQuery的Ajax分页插件Pagination实现** 在Web开发中,当数据量庞大时,分页是一种常见的优化用户体验的方式。...同时,理解和掌握Ajax分页的原理和实现方式,对于提升Web开发技能至关重要。

    Servlet+jsp+AJax的分页及增删改查

    在本文中,我们将深入探讨如何使用Servlet、JSP和Ajax技术实现一个完整的增删改查...这个示例项目"Servlet+jsp+AJax的分页及增删改查"提供了一个学习和实践这些技术的平台,有助于深入理解和掌握Web开发中的关键概念。

    node.js+express+mysql+分页+bootstrap+文件上传+基本新闻模板和后台管理

    在本项目中,我们主要探讨的是使用Node.js作为后端开发框架,Express作为Node.js的应用程序框架,MySQL作为关系型数据库,Bootstrap作为前端UI库,以及实现文件上传和新闻管理功能。下面将对这些技术进行详细阐述。 ...

    mvc+(Ajax)分页条

    在Web开发中,MVC(Model-View-Controller)架构模式是一种常见的设计模式,用于分离应用程序的数据、逻辑和用户界面。Ajax(Asynchronous JavaScript and XML)技术则允许在不重新加载整个网页的情况下更新部分网页...

    page.js+pager.css

    在网页开发中,分页是一种常见的用户界面设计技术,它用于处理大量的数据,将这些数据分割成可管理的小块,以便用户逐页浏览。在这个场景中,"page.js" 和 "pager.css" 是两个关键文件,它们分别负责实现分页功能的...

Global site tag (gtag.js) - Google Analytics