2019独角兽企业重金招聘Python工程师标准>>>

一、common.js

/*** @author team* @version 1.0*/
define(['jquery', "/codeComplete/dist/js/jquery.json-2.4.js", "template"], function ($, _, template) {var debugEnabled = true;var common = {};common.basePath = $("#current-page").attr("basePath") || "codeComplete";/*** 将对象字面量转为字符串*/common.stringify = function (obj) {obj = obj || {};var jsonStr = JSON.stringify(obj);return jsonStr;};/*** 将字符串转为对象字面量,依赖jquery.json,安全可靠*/common.parse = function (jsonStr) {jsonStr = jsonStr || "{}";var obj = JSON.parse(jsonStr);return obj;};/*** 异步请求方法*/common.ajax = function (ajaxParam) {//如果自己实现了success方法,认为是通过ajax的方式调用此方法if (ajaxParam.success) {$.ajax(ajaxParam);return;}ajaxParam.dataType = ajaxParam.dataType || "json";ajaxParam.type = ajaxParam.type || "get";var deferred = $.Deferred(); // 新建一个deferred对象ajaxParam.success = function (data) {if (data.errcode === -1) {common.error("error,", data);if (data.errmsg) {alert(data.errmsg);deferred.reject(data.errmsg);} else {deferred.reject("系统繁忙");}} else if (data.errcode === 4001 || data.errcode === 4002) {common.info("此请求需要登录即将跳转到登陆页面");alert("请先登陆");common.login();deferred.reject("");} else if (data.errcode === 5013) {common.info(data.errmsg);alert(data.errmsg);//弹出层的弹出层不能用common.alert,所以直接就用了alertdeferred.reject(data.errmsg);} else {common.debug("ajaxParam-responseDate", ajaxParam, data);deferred.resolve(data);}};ajaxParam.error = function (xhr) {//common.alert("系统繁忙");common.error("error:" + xhr);deferred.reject(xhr);};$.ajax(ajaxParam);return deferred.promise();};/*** 从约定的元素获取值*/common.getAttr = function (key) {return $("#current-page").attr(key);};/*** 在页面约定的元素上存储数据*/common.setAttr = function (key, val) {$("#current-page").attr(key, val);};/*** 改element设置文本内容*/common.setText = function (key, val) {$(key).text(val);};/*** 给指定class或者id设置文本内容*/common.setContent = function (content, target) {var texts = target.texts || [];for (var i in texts) {if ($("." + texts[i])) {$("." + texts[i]).last().text(content[texts[i]]);} else {$("#" + texts[i]).text(content[texts[i]]);}}var srcs = target.srcs || [];for (i in srcs) {$("#" + srcs[i]).attr("src", content[srcs[i]]);}var attrs = target.attrs || [];for (i in attrs) {$("#" + attrs[i]).attr(attrs[i], content[attrs[i]]);}var appends = target.appends || [];for (i in appends) {$("#" + appends[i]).append(content[appends[i]]);}};//兼容低版本ie浏览器common.info = function () {try {if (debugEnabled) {console.info(arguments);}} catch (e) {}return common;};common.error = function () {try {if (debugEnabled) {console.info(arguments);}} catch (e) {}return common;};common.warn = function () {try {if (debugEnabled) {console.info(arguments);}} catch (e) {}return common;};common.debug = function () {try {if (debugEnabled) {console.info(arguments);}} catch (e) {}return common;};common.log = function () {try {if (debugEnabled) {console.info(arguments);}} catch (e) {}return common;};/*** 函数名称:Trim 函数功能:去除字符串两边的空格 函数参数:str,需要处理的字符串*/common.Trim = function (str) {return str.replace(/(^\s*)|(\s*$)/g, "");};// 校验是否为空(先删除二边空格再验证)common.isNull = function (obj) {if (obj === null || typeof (obj) == "null" || typeof (obj) == "undefined")return true;elsereturn false;};/*** 函数名称:isEmpty 函数功能:判断给定字符串是否为空 函数参数:str,需要处理的字符串*/common.isEmpty = function (obj) {if (obj === null) {return true;}if (!common.isNull(obj) &&common.Trim(obj).length > 0)return false;elsereturn true;};// 校验是否全是数字common.isDigit = function (str) {var patrn = /^\d+$/;return patrn.test(str);};/*** 判断字符串是否为空*/common.isNotEmpty = function (obj) {return !common.isEmpty(obj);};/*** 拼接请求参数*/common.buildQueryString = function (params) {var kvs = [];for (var p in params) {kvs.push(p + '=' + params[p]);}return '?' + kvs.join('&');};/*** 获取URL的所有查询参数,url中如果包含中文慎用*/common.getUrlQueryParams = function () {var params = {};var regex = /[\?&]([a-zA-Z_]+)=([\w\-\.\s\+\%\:]*)/g;while ((results = regex.exec(window.location.href)) !== null) {params[results[1]] = results[2];}return params || {};};/*** 判断对象字面量是否为空*/common.objIsEmpty = function (json) {json = json || {};var jsonStr = JSON.stringify(json);return jsonStr === "{}";};common.objIsNotEmpty = function (json) {return !common.objIsEmpty(json);};/***   变量是否为数字*/common.isNumber = function (str) {var regExp = /^\d+$/g;return regExp.test(str);};common.notice = function (message) {$(".error_box").text(message);setTimeout(function () {$(".error_box").text("");}, 3000);};common.render = function (data, source) {var render = null;if (data instanceof Array) {source = '{{each list as item i}}' + source + '{{/each}}';render = template.compile(source);return render({"list": data});} else {render = template.compile(source);return render(data);}};/*** html模板直接从页面中拿,页面模板在页面中先隐藏*/common.renderById = function (data, id) {var source = $("#" + id).html();var render = null;var html = null;var flag = data.hide;if (data instanceof Array) {source = '{{each list as item i}}' + source + '{{/each}}';render = template.compile(source);html = render({"list": data});} else {render = template.compile(source);html = render(data);}$("#" + id).html(html);$("#" + id).show();$(".hide").hide();};common.setPageParam = function (pageParam) {pageParam = pageParam || {};$("#current-page").attr("pageParam", common.stringify(pageParam));};common.getPageParam = function () {var pageParamStr = $("#current-page").attr("pageParam") || "{}";return common.parse(pageParamStr);};return common;
});

二、返回数据json结构

{"pagination" : {"page" : 2,"total" : 6,"pageSize" : 2,"maxPage" : 3,"items" : [ {"id" : 3,"price" : "100.0","name" : "oppo","stock" : 19}, {"id" : 4,"price" : "18.0","name" : "HTC","stock" : 29} ],"result" : 0},"errcode" : 0,"errmsg" : "正常"
}

三、分页写法

/*** @author 漂泊者及其影子* @version 1.0*/
define(["jquery", "bootstrap", "common", "bootstrap-paginator", "template"], function ($, bootstrap, common, bootstrap_paginator, template) {"user strict"; // 每个模块化的js都使用严格模式var product = {};/*** 商品模块入口*/product.init = function (page) {loadList();};function loadList(param) {param = param || {};param.page = param.page || 1;param.pageSize = param.pageSize || 2;var ajaxParam = {url: "/codeComplete/rest/product/list",data: param};common.ajax(ajaxParam).then(function (data) {common.setPageParam(param);// 如果为空说明分页还没有初始化if ($("#pagination").text() === '') {pagination(data.pagination.page, data.pagination.maxPage);}var items = data.pagination.items;var listHtml = getListHtml(items);$("#listContent").html(listHtml);});}/*** 分页列表模板*/function getListHtml(datas) {var source = ' <tr><td>{{item.id}}</td><td>{{item.name}}</td><td>{{item.price}}</td><td>{{item.stock}}</td><td><a href="projectEdit.html"><button type="button" class="btn">编辑</button></a></td> </tr>';return  common.render(datas, source);}function pagination(currentPage, totalPages) {var element = $('#pagination');var options = {bootstrapMajorVersion: 3,currentPage: currentPage,numberOfPages: 5,totalPages: totalPages,onPageClicked: function (e, originalEvent, type, page) {var pageParam = common.getPageParam();pageParam.page = page;loadList(pageParam);}};element.bootstrapPaginator(options);}return product;
});

四、index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!doctype html>
<html>
<head><title>商品管理</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link href="../../dist/css/bootstrap.css" rel="stylesheet" /><script type="text/javascript"></script><style type="text/css"></style>
</head>
<body><div class="text-center"><h1>#后台管理</h1></div>
<div class="container"><div class="row"><div class="col-lg-3"><div class="list-group"><!-- <div class="list-group-item"><strong>#ç³»ç»ç§ç±»</strong></div> --><div class="navbar list-group-item" style="margin-bottom:0px;"><strong>#web2.0</strong></div>          <a href="projectList.html" class="list-group-item active">商品管理>></a><a href="serverList.html" class="list-group-item">用户管理>></a></div></div><div class="col-lg-9"><div class="navbar list-group-item" style="margin-bottom:0px;"><strong>商品列表</strong><a href="projectEdit.html"><button type="button" class="btn btn-info pull-right">新增</button></a></div><table class="table table-bordered table-striped"><thead><tr ><th>id</th><th>名称</th><th>价格</th><th>库存­</th><th>操作</th></tr></thead><tbody id="listContent"></tbody></table><div class="pull-right"><ul id='pagination'></ul></div></div></div>
</div>
<scriptdata-main="../../dist/js/require.config"id="current-page" current-page="product" target-module="product"src="../../dist/js/require.js"  defer async="true"></script>
</body>
</html>

五、效果

转载于:https://my.oschina.net/fengshuzi/blog/755647

bootstrap-pagination demo相关推荐

  1. 【响应式Web前端设计】Bootstrap入门Demo(导航栏)

    文章目录 1 导入bootstrap.min.css 2 效果 3 代码 1 导入bootstrap.min.css 2 效果 3 代码 <!--作者:88304454@qq.com时间:202 ...

  2. JS组件系列——表格组件神器:bootstrap table

    前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...

  3. 一、bootstrap table 初体验

    http://blog.csdn.net/yin767833376/article/details/52153487 前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法 ...

  4. Bootstrap Table表格分页的使用及分页数据(Excel)导出

    ####相关文档 Bootstrap Table官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ Bootstrap 中文网:http://www.b ...

  5. Bootstrap Table表格插件的使用及数据导出

    文章目录 1.介绍 2.页面引用 3.简单示例 4.注意地方 5.演示图 1.介绍 Bootstrap Table介绍见官网:http://bootstrap-table.wenzhixin.net. ...

  6. 【读书笔记《Bootstrap 实战》】3.优化站点资源、完成响应式图片、让传送带支持手势...

    A.优化站点资源 速度很重要.用户很关心.我们的站点必须加载够快,否则用户就会走人.SEO 也很重要.我们的站点必须加载够快,否者搜索排名就会下降. 明白了这样,我们就来清点一下 [Bootstrap ...

  7. ui-bootstrap-tpls 中文 现在还不全的啊~,组件太多了,有空就更新

    UI Bootstrap,用angular打造的bootstrap组件. 开始 依赖: angularJS angular-animate Bootstrap Css <link rel=&qu ...

  8. 前后端优秀团队(持续添加中。。。。)

    api 文档生成工具 http://ouapi.com/tool/md?w=undefined&a=1 分页 https://github.com/mricle/Mricode.Paginat ...

  9. .net MVC4.0项目发布到阿里云虚拟主机中遇到的问题。

    正所谓学以致用,今天本来想做个bootstrap的demo发到服务器上看一下效果,结果服务器搞了半天,最终太晚了没能学到什么东西. 首先写好页面之后我做了一个MVC4.0的网站项目,然后把Bootst ...

  10. java api帮助文档_JAVA的Swagger界面丑、功能弱怎么破?

    在做CRMEB-JAVA开源商城系统时,我们团队用到了uni-app,也是时下比较流行的移动端开发技术,这里边就牵扯到了前后端全部分离的问题,一般在使用java开发前后端分离项目的时候,都会用到Swa ...

最新文章

  1. Android学习 —— 数据的存储与访问方式一: 文件存取
  2. 盘点 | 2017 年 关于 Python 的 13 件大事
  3. 【算法】模拟退火算法解决TSP问题的matlab实现
  4. java清除输出内容_java – 从JSch中的命令输出中删除shell东西...
  5. 浅谈JQuery中$('.classname').get(0); $('.classname').eq(0); $('.classname')[0]三者的区别
  6. opencv matlab三维点云,点云采样的三种方法 - 小白学视觉的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. 城市轨道交通运营管理属于什么院系_专业介绍|城市轨道交通运营管理专业
  8. WAMP的多站点配置
  9. 公司项目NODEJS实践0.1[ ubuntu,nodejs,nginx...]
  10. 微信发红包api php,php版微信公众号接口实现发红包的方法
  11. UE4动画重定向与动画蒙太奇(播放动画)
  12. Mobaxterm终端工具和Neokylin7基础
  13. 计算机组装与维护doc,新版计算机组装与维护.doc
  14. crontab定时执行任务命令详解及crontab 误删除恢复
  15. 计算机f8键的功能,f8键有什么作用(图文)
  16. 【图像处理】gamma校正通俗解释及python实现(替代matlab imadjust)
  17. 5G时代的物联网:福器还是凶器
  18. JDK源码中,都有哪些NB的设计模式?
  19. Python实现ALO蚁狮优化算法优化支持向量机分类模型(SVC算法)项目实战
  20. 5G承载网里的FlexE,到底是什么?

热门文章

  1. Python零基础入门(三)——函数[学习笔记]
  2. 旧服务器如何虚拟化,4个步骤教你如何重复利用旧虚拟化主机
  3. 云服务器如何重新引导,重新启动server服务器
  4. c语言 获取可用内存大小,C语言实现获取内存信息并输出的实例
  5. mysql主库从库在同一台服务器_通过两种方式增加从库——不停止mysql服务
  6. linux启动中继服务器失败,Tor中继服务器在Linux里安装配置的流程
  7. solidwork 侵权 证据_电子商务法复习题
  8. gson 获取hasmap_GSON fromJson return LinkedHashMap instead of EnumMap
  9. c语言斐波那契数列递归数组,C语言数据结构学习:递归之斐波那契数列
  10. java dayofweek_Java日期时间API系列22-----Jdk8中java.time包中的新的日期时间API类,Month月份和DayOfWeek星期的计算。...