Bootstrap-Table 表格插件
Bootstrap-Table 表格插件
JS 插件文档库邀你一起协同创作 -
Bootstrap-Table
Bootstrap table 是一款基于 Bootstrap 的 jQuery 表格插件,功能比较完备,能够实现数据异步获取,编辑,排序等一系列功能,最可贵的是,只需要一些简单的配置就可以实现一个功能完备的在线表格。
1. 准备
不同于tabledit
,Bootstrap-Table
是提供异步获取数据功能的,这里的准备工作暂不用管前台页面结构。因为前台页面结构中的表格,只需要一句代码就解决了:
我们要关心的是,正确的引入Bootstrap Table的相关文件,功能越完备意味着,需要加载的第三方库越多。
首先关注3个文件,dist
目录下的bootstrap-table.css
、bootstrap-table.js
,如果使用中文,还要引用locale/bootstrap-table-zh-CN.js
,注意每个文件均提供了min版本以及正常版本,建议在开发测试阶段引入正常版本,便于调试。 当然最后不要忘了引入bootstrap
以及jQuery
的文件,最终效果如下:
js文件建议放到页面最底下,在
之前引入即可,如下所示:
注意:1. 顺序不要乱;2. 根目录依据自己项目而定
2. 初步使用
前台放一个table标签即可,表格的结构,甚至于表格的操作都放到JS中实现,如下代码即可生成一个表格:
$('#table').bootstrapTable({
url: '/json/data.json', // 表格数据来源
columns: [{
field: 'id',
title: 'Item ID'
}, {
field: 'name',
title: 'Item Name'
}, {
field: 'price',
title: 'Item Price'
},{
field: 'column1',
title: '列1'
},{
field: 'column2',
title: '列2'
},{
field: 'column3',
title: '列3'
},{
field: 'column4',
title: '列4'
} ]
});
url中定义了表格的数据来源,返回数据的格式依然是包含数据对象的数组 ,这点不再赘述。由于该框架提供的参数比较多,而实际项目并用不着这么多配置,这里给出,我建议的一个方案,供参考。
右上角的一些功能,通过配置一些参数即可实现,无需多余的代码。这个查看官方文档,基本没有什么问题,这里不多介绍了。
左上角是一些自定义的一些功能,这里有添加数据,筛选数据(本地&异步),再加上编辑数据,基本就完成了表格的增删改查需求,这个我在后面会一一介绍。
3. 功能实现
在这里,我会介绍在实际项目中要用到的一些实用功能点。主要分为:添加,导出,筛选,搜索,编辑以及删除。
(1)添加功能
根据一些实际项目的经验,采用弹出模态框的方式,是最优雅的添加方式。如下图所示:
这个是bootstrap
自带的一个插件,直接引入页面中即可,至于表单的提交方式是采用form原生提交,还是使用ajax异步提交,就取决于你的喜好了。这块内容不在文章范围内,就不多介绍了。
需要注意的是:假如你采用的是ajax异步提交表单,那么就需要调用bootstrap-table
的refresh方法,用来更新表格数据。
$('#table').bootstrapTable('refresh');
(2)导入功能
每次在做信息化类项目的时候,导出功能是我最不愿意去做,但也必须要实现的功能。不愿做并不是因为很难实现,这是一个原则问题,信息化就是为了减少或是废除线下操作,然而在传统企业却根本行不通,因为不管你的用户体验做得有多好,也改变不了用户「不愿尝试改变」的劣根性。
Bootstrap-Table
提供了导出扩展模块,简单配置就可以轻松实现导出功能。首先需要引入两个文件,一个是Bootstrap-Table
中extensions
中的bootstrap-table-export
扩展;另一个是tableExport的插件。效果如下:
引入扩展文件后,在表格参数中加入如下一句配置即可:
showExport: true
(3)筛选功能
这个是在线表格最重要的功能之一。因为我们不可能一次性将后台所有数据都拉到前台展示。如果你之前使用过Bootstrap-Table
,你可能知道它提供了一个sidePagination
的参数,这个参数是定义在哪里进行分页,可选值为 client
或者 server
。默认为client
,当你设置为 server
时,每次请求后台服务器,都会加上limit, offset, search, sort, order这几个参数,传到后台让你去处理数据分页。
这里我想告诉你,完全没有必要这么麻烦,实际项目中,我们都是通过参数条件,筛选一部分数据展示到前台。所以你定义好默认的参数就可以了,分页的事就交给前端处理即可。那么参数如何自定义呢?使用queryParams
表格参数即可。举个例子:
queryParams: function(params){
return {
startDate: '2018/09/01',
endDate: '2019/09/01'
};
},
查看Chrome Network请求,可以看出传递参数情况。
通过上述自定义参数方式,就可以筛选部分数据到前台,然后通过配置分页参数就可以实现筛选功能了。那么一般设置什么参数筛选呢?其实就是想问一次性筛选多少条数据最合适呢?我的建议是在500以内,这样既方便处理数据,也不会太影响性能。
前台分页的好处,主要体现在搜索这块,完全不用自己去实现代码,简单配置搜索框即可,而且提供的是全局搜索,很强大了。如果想配置个本地筛选也是很方便的,使用resetSearch
方法即可。
// 本地筛选
$('#localFilter li a').click(function(e){
e.preventDefault();
var filter = $(this).data('filter');
$table.bootstrapTable('resetSearch', filter);
});
有时候,我还是想要从后台筛选部分数据,通过前台表单,使用 refresh
方法即可。
// 异步筛选
$('#Filter').submit(function(e){
e.preventDefault();
var filter = $('input[name=filter]').val();
$table.bootstrapTable('refresh',{
query: {
startDate: '2001/09/01',
endDate: '2008/09/01',
filter: filter
}
});
});
筛选功能就到这,这里只是介绍了参数传递的方法,具体筛选,还需要结合后台代码去实现。
(4)搜索功能
搜索分为前台搜索以及后台搜索。
前台搜索:学会使用5个表格参数(search、searchOnEnterKey、searchText、trimOnSearch、customSearch(自定义搜索)),2个列参数(searchable、searchFormatter),1个方法(resetSearch)即可
后台搜索,就类似于筛选功能的传参了,在后台处理字符串,返回表格数据,此不在本文范围内,不多赘述。
(5)编辑功能
在线表格的编辑,其实是最不好处理的一个功能。一方面,添加编辑功能需要增加很多额外的代码量;另一方面,从业务上来讲,编辑并不是一个好的用户体验。在做编辑功能之前,我总是问自己,这块功能真的需要编辑吗?删除了重新添加行不行?
Bootstrap-Table
提供了editable
编辑模块,简单配置即可实现表格的编辑,但是我还是想要提醒,使用编辑功能需要有节制,越自由并不代表用户体验越好。
还是老套路,引入3个文件(其中:1个css,2个js):
引入之后,直接在列参数上加上editable: true
,即可启用该字段的标记功能,效果图如下:
样式没有问题后,接下来看看如何使用,使用方法完全沿用了X-editable
插件,bootstrap-table-editable
仅仅只是做了嵌入的工作,所以你需要查看X-editable
的文档,这里我举个简单的例子介绍一下,如下为其中一列的参数设置:
{
field: 'column2',
title: '列2',
editable: {
url: '/test',
},
}
url
参数用来异步访问后台,那么传递的参数有哪些呢?
pk
在X-editable
中定义为主键,在Bootstrap-Table
中,通过设置表格参数idField: 'id'
,可以定义行数据的主键。若改成idField: 'name'
,再来看下:
明白了如何传参数,相信你就知道后面如何处理了。
(6)删除功能
介绍完编辑功能,不知道你有没有发现,假如我们要编辑的字段非常多,这种处理方式会给后台造成很大的工作量,能不能一个表单就解决编辑需求呢?当然是可以的。
我们在每一行的最后加上一列,放上一些功能按钮,如下图:
在columns
表格参数中,加上一列如下:
{
field: 'operator',
title: '操作',
align: 'center',
valign: 'middle',
width: '10%',
// visible: false,
formatter: function (value, row, index) {
// var sid_code = base64encode(row.sid + ''); // sid 加密处理
// alert(sid_code);
return '' +
' ' +
' '+
'' +
' ' +
' '+
'' +
' ' +
' ';
},
events: {
'click a[title=删除]': function (e, value, row, index) {
if(confirm('此操作不可逆,请确认是否删除?')){
$.ajax();
}
},
'click a[title=修改]': function (e, value, row, index) {
// e.preventDefault();
alert('click change button');
},
}
}
4个参数分别是:
event: the jQuery event.
value: the field value.
row: the row record data.
index: the row index.
相信看完这个示例,就能一并解决「查看」「编辑」「删除」等功能。Bootstrap-Table
的使用就介绍到这里了,官方文档里还有好多参数以及方法没有介绍到,篇幅有限就不再介绍了,需自行查看文档学习。
更多Chat...
你可能感兴趣的:(Bootstrap-Table 表格插件)
大模型量化终极对决:FP8 vs AWQ INT4,谁才是性能与精度的王者?
曦紫沐
大模型 人工智能 大模型量化 FP8 AWQ_INT4
摘要在大模型部署与优化中,量化技术是突破性能瓶颈的关键。FP8量化与AWQINT4量化作为当前主流方案,分别以“高精度”和“极致压缩”为核心优势。本文通过表格对比二者的数据格式、精度损失、硬件依赖及适用场景,助您在不同需求下精准选择最优方案。一、数据格式:浮点与整数的底层差异FP8量化采用浮点数(FP8),包含E4M3(4位阶码+3位尾数)和E5M2(5位阶码+2位尾数)两种格式,保留动态范围;而
Pandas:数据科学的超级瑞士军刀
科技林总
DeepSeek学AI 人工智能
**——从零基础到高效分析的进化指南**###**一、Pandas诞生:数据革命的救世主****2010年前的数据分析噩梦**:```python#传统Python处理表格数据data=[]forrowincsv_file:ifrow[3]>100androw[2]=="China":data.append(float(row[5])#代码冗长易错!```**核心痛点**:-Excel处理百万行崩
Flutter权限插件详解:permission_handler使用指南
AI移动开发前沿
AI移动端开发宝典 flutter ai
Flutter权限插件详解:permission_handler使用指南关键词:Flutter、权限插件、permission_handler、权限管理、移动开发摘要:本文围绕Flutter开发中常用的权限插件permission_handler展开详细介绍。首先阐述了在Flutter应用开发中处理权限的背景和重要性,接着深入解析permission_handler的核心概念、架构以及工作原理,通
PDF转Markdown - Python 实现方案与代码
Eiceblue
Python Python PDF pdf python 开发语言 vscode
PDF作为广泛使用的文档格式,转换为轻量级标记语言Markdown后,可无缝集成到技术文档、博客平台和版本控制系统中,提高内容的可编辑性和可访问性。本文将详细介绍如何使用国产Spire.PDFforPython库将PDF文档转换为Markdown格式。技术优势:精准保留原始文档结构(段落/列表/表格)完整提取文本和图像内容无需Adobe依赖的纯Python实现支持Linux/Windows/mac
Ubuntu24安装MariaDB/MySQL后不知道root密码如何解决
Ubuntu24.04安装MariaDB后root密码未知?解决方案在此在Ubuntu24.04上新安装MariaDB后,许多用户会发现自己不知道root用户的密码,甚至在安装过程中也没有提示设置密码。这是因为在较新的MariaDB版本中,默认情况下root用户采用了unix_socket身份验证插件。这意味着您可以使用操作系统的root用户权限直接登录MariaDB,而无需输入密码。本文将为您详
一个开源AI牛马神器 | AiPy,平替Manus,装完直接上手写Python!
Agent加载失败
人工智能 python 开源 算法 AI编程
还记得三个月前那个在闲鱼被炒到万元邀请码的Manus吗?现在你点官网,直接提示「所在地区不可用」了它走了,但更香的国产开源项目出现了:AiPy(爱派)。主打一个极致简化的AIAgent理念:别搞什么插件市场、Agent路由,直接给AI一个Python解释器,让它用自然语言写代码干活。听起来狠活?实际体验更狠:•完全本地化,界面傻瓜式操作,支持自然语言生成&执行Python任务;•数据清洗、文档总结
Navicat练习与实操(第九节课内容总结见下篇)
咩?
android 前端 sql
MySQL练习练习题目现在有以下四张表Student学生ID学生名字学生生日学生性别s_ids_names_births_sexCourse课程ID课程名字教师IDc_idc_namet_idTeacher教师ID教师名字t_idt_nameScore学生ID课程ID学生分数s_idc_ids_score1.对以上表格分别建表(要求:id为各个表的主键、其他字段非空设置默认值为、给表以及表中字段设
开发避坑短篇(7):Vue+window.print()打印实践
帧栈
避坑指南 vue.js 前端 elementui
需求vue项目中如何打印当前页面内容?解决办法使用浏览器原生APIwindow.print(),这是最简单直接的方式,通过调用window.print()方法触发浏览器打印功能。在vue项目中直接调用print()方法即可,无须引入任何插件。如下:functionhandlePrint(){setTimeout(_=>print(),500)}打印页面样式控制可以使用@mediaprint来控制
H5UI微信小程序前端框架实战指南
ai
本文还有配套的精品资源,点击获取简介:H5UI是一个为微信小程序开发设计的前端框架,基于H5技术,提供简洁高效的组件库。框架集成了丰富的UI元素,如按钮、表格、导航栏等,简化了界面布局和交互的实现。通过安装、引入、使用组件和事件绑定四个步骤,开发者可以轻松构建功能齐全的应用。了解性能优化等注意事项对于高效开发同样重要。1.微信小程序前端开发框架介绍微信小程序概述微信小程序是微信官方推出的一种无需下
Python 中的 JWT 认证:从生成到验证的完整指南
盛夏绽放
python 开发语言 有问必答 后端
文章目录Python中的JWT认证:从生成到验证的完整指南一、JWT是什么?为什么需要它?传统session与JWT对比二、JWT的结构解析三、Python中实现JWT1.安装PyJWT包2.生成JWT3.验证JWT4.错误处理大全四、高级应用场景1.双令牌系统(Access+Refresh)详细说明表格:异常处理补充表:2.与FastAPI/Django集成五、安全最佳实践六、性能优化技巧算法性
Python 数据可视化神器—Pyecharts
代码输入中...
python echarts 开发语言 数据分析 pycharm
前言Echarts是百度开源的一款数据可视化JS工具,数据可视化类型十分丰富,但是得通过导入js库在JavaWeb项目上运行。作为工作中常用Python的选手,不能不知道这款数据可视化插件的强大。那么,能否在Python中也能用到Echarts的功能呢?寻找中惊喜地发现了pyecharts,只需在python中安装该模块即可使用。安装常用的pip安装包一键安装pyecharts#pyecharts
批量二维码生成器 v3.2.0:绿色便携,WIFI 码 / Excel 导入够实用
潇洒飘逸的阿楠
经验分享
做活动时总被二维码绊住:要给50个参会者做专属码,在线工具怕信息存云端,手动一个个生成,改备注格式能错三次——试了这个v3.2.0绿色版,发现批量处理时藏着几个顺手的细节。下载地址:夸克网盘分享备用地址:迅雷云盘输家里的WIFI名和密码,生成的码客人扫一下就连上,不用再扯着嗓子喊“密码是小写字母加数字”;上周帮咖啡店做,把码印在杯套上,熟客说比问店员省事。把客户姓名和编号填进表格,批量生成后,备注
ROS2编写一个简单的插件
CrimsonEmber
ROS笔记 ROS2 笔记 学习
1.createabaseclasspackageros2pkgcreate--build-typeament_cmake--licenseApache-2.0--dependenciespluginlib--node-namearea_nodepolygon_base编辑ros2_ws/src/polygon_base/include/polygon_base/regular_polygon.h
【亲测免费】 探索PF4J:Java插件框架的革命性选择
农优影
探索PF4J:Java插件框架的革命性选择项目介绍PF4J(PluginFrameworkforJava)是一个开源的、轻量级的Java插件框架,旨在将传统的单体Java应用转变为模块化应用。PF4J的核心理念是保持简单且高度可扩展,它通过插件机制允许第三方扩展应用功能,同时支持定义和实现扩展点。PF4J不仅依赖少(仅依赖slf4j-api),而且体积小巧(约100KB),是构建现代Java应用的
影刀RPA_批量添加用户至企业微信_源码解读
RPA+AI十二工作室
影刀 python 开发语言 影刀 rpa 企业微信 自动化
一、项目简介本项目是一个基于影刀RPA(RoboticProcessAutomation)开发的自动化工具,主要功能是通过手机号码批量添加用户至企业微信。项目利用企业微信客户端自动化操作,实现了从手机号导入、去重处理到批量发送好友请求的全流程自动化。项目特点:支持通过数据表格或Excel导入手机号自动去重和格式清洗企业微信窗口自动化控制操作结果分类统计与导出二、项目结构xbot_robot/├──
年月日_怎样在excel日期表格中提取年月日等信息?
weixin_39566882
年月日
“hello小伙伴们大家好,我是归一。本节内容我将继续给大家介绍ExcelPowerQuery数据处理实用的18种方法中的第11招——提取日期信息。下面,我们开始今天的学习吧~”#表格制作excel##在家办公日记##在家办公日记#01业务问题:如何提取日期中的年月日和季度?下面,我们来看这样一个问题:现有一张销售数据表,其中有一个订单日期字段,由于我们想要查看每个月、每个季度的销售情况,所以还需
UE5 自动生成插件汇总:提升创作效率的得力助手
阿贾克斯的黎明
游戏开发 ue5
目录UE5自动生成插件汇总:提升创作效率的得力助手目录一、地形生成插件1.Polycam2.M4电影级地形工具包3.WorldCreatortoUnrealEngine插件二、场景生成插件1.PrometheanAI2.physicallayout(物理布局)三、动画生成插件1.CasterAI2.blender骨骼绑定模型一键导入UE5场景插件MagicBoneUE5RigCreator四、特效
面向现代数据湖仓的开放表格式对比分析:Iceberg、Hudi、Delta Lake与Paimon
piekill
大数据平台 大数据 spark flink big data 数据仓库
文章目录第一章数据湖的演进:从存储到事务型平台1.1前湖仓时代:ApacheHive的局限性1.2湖仓一体的范式转移第二章架构深度剖析2.1ApacheIceberg:以元数据为中心的设计2.2ApacheHudi:流式优先、时间轴驱动的架构2.3DeltaLake:以事务日志为唯一真相源2.4ApachePaimon:面向实时湖仓的LSM树架构第三章核心能力对比分析3.1事务性与并发控制3.2数
不坑盒子:Word里1秒制作“花括号”题目,多音字组词、形近字组词……
不坑老师
word
1.30秒看懂它能干啥用“不坑盒子”插件,在Word里输入:乐,lè(快乐),yuè(音乐);长,cháng(长短),zhǎng(长大)点一下【总分关系】,瞬间出现左边是“乐”右边并列两行拼音+括号的花括号结构;再点【并列关系】,又能做出只有右侧多行的括号图。全程1秒,格式自动对齐,再也不用手动画括号!2.为什么突然火了?期末老师要出多音字/同音字/形近字练习,传统做法手动画括号、调对齐,10分钟
Excel 面试 05 查找函数组合 INDEX-MATCH
练习两年半的工程师
Excel excel
Excel的INDEX-MATCH是一种强大的函数组合,用于查找和返回表格中的值。相比于传统的VLOOKUP或HLOOKUP,它更灵活且高效,尤其在需要双向查找或处理动态列时表现出色。INDEX-MATCH基本原理INDEX函数:返回数组中指定位置的值。语法:INDEX(array,row_num,[column_num])array:要从中取值的范围或数组。row_num:指定返回值的行号。co
Kubeadm 快速搭建 k8s 集群&&安装可视化管理界面
头发莫的了呀
Kubernetes kubernetes docker 运维
文章目录1.实验准备2.安装docker3.配置阿里云K8Srepo源(三个节点)4.安装kubeadm,kubelet,kubectl(三个节点)5.部署kubernetesMaster节点(master节点上执行)6.k8s-node节点加入master节点(两个node执行)7.安装Pod网络插件(CNI插件,master节点)8.master节点安装可视化管理界面dashboard1.实验
了解Mysql以及其增删改查
为什么名字不能重复呢?
网络安全 mysql 数据库
1.了解MysqlMySQL(MyStructuredQueryLanguage)是一种关系型数据库管理系统(RDBMS),它使用SQL(StructuredQueryLanguage)作为查询语言。以下是关于MySQL的一些基本概念:关系型数据库管理系统(RDBMS):MySQL是一种关系型数据库管理系统,这意味着它使用表格来组织和存储数据。数据存储在表格中,表格之间可以建立关系。SQL:SQL
RabbitMQ 如何通过插件扩展功能?常用的插件有哪些?
dj_master
RabbitMQ rabbitmq python 分布式
RabbitMQ提供了强大的插件机制,允许通过安装插件扩展其核心功能。这些插件可以增强消息处理能力、集成外部系统、添加协议支持等。下面详细介绍RabbitMQ插件的使用方式、常用插件及其在Java中的应用示例。一、RabbitMQ插件机制与使用方法RabbitMQ的插件基于Erlang/OTP平台开发,以.ez格式分发,通常由社区或官方维护。1.插件管理命令#查看所有可用插件rabbitmq-pl
用 Python BeautifulSoup 实现网页表格数据的提取
用PythonBeautifulSoup实现网页表格数据的提取关键词:Python、BeautifulSoup、网页表格数据提取、HTML解析、数据处理摘要:本文深入探讨了如何使用Python的BeautifulSoup库来实现网页表格数据的提取。首先介绍了相关背景知识,包括目的、预期读者等内容。接着详细阐述了BeautifulSoup的核心概念和工作原理,并给出了相应的流程图。然后讲解了核心算法
Anaconda(AI生成测试)
harrio_
python
技术文章大纲:Anaconda插件开发挑战赛引言Anaconda作为数据科学与机器学习的核心工具,其插件生态系统的扩展性为开发者提供了广阔的创新空间。插件开发挑战赛旨在激励开发者探索Anaconda的潜力,解决实际场景中的技术痛点。以下为技术文章的核心框架。Anaconda插件开发的核心价值插件开发能够增强Anaconda的功能模块化,例如集成新的编程语言支持、优化包管理流程或扩展可视化工具。通过
即便你已经在浏览器中启用了 JavaScript有时网页依然可能出现功能失效、内容加载不完整或按钮点击无反应等问题。这些问题通常由 JavaScript 冲突
即便你已经在浏览器中启用了JavaScript有时网页依然可能出现功能失效、内容加载不完整或按钮点击无反应等问题。这些问题通常由JavaScript冲突、浏览器设置不当或插件干扰等原因引起。作为HostEase的技术人员我将为你提供一系列简单有效的JavaScript故障排除方法帮助你快速定位并解决这些问题。禁用可能干扰JavaScript的浏览器扩展,广告拦截器,安全插件或某些脚本管理器可能会干
Anaconda插件开发
黑客法
技术支持 深度学习
Anaconda插件开发挑战赛技术文章大纲一、引言:插件生态的价值Anaconda在数据科学生态中的核心地位插件系统对平台扩展性的关键作用挑战赛对开发者生态建设的意义二、开发环境搭建#示例:创建插件开发环境condacreate-nplugin-devpython=3.9condaactivateplugin-devpipinstallanaconda-plugin-sdk三、插件架构剖析核心组件
Anaconda插件开发挑战赛
张文6.7
人工智能 开发语言 区块链 AI编程
引言介绍Anaconda在数据科学和Python开发中的重要性插件生态系统的价值与Anaconda插件开发的意义概述挑战赛的目标与参赛者的预期收获Anaconda插件开发基础Anaconda平台的核心功能与插件架构开发环境搭建:AnacondaDistribution、conda与相关工具链插件类型与常见应用场景(如Jupyter扩展、IDE集成、数据可视化工具等)挑战赛关键技术要点插件开发的核心
技术文章大纲:Anaconda插件开发挑战赛引言介绍Anaconda在数据科学和PythonUH开发中的重要性
aadwje
eclipse ide
即便你已经在浏览器中启用了JavaScript有时网页依然可能出现功能失效、内容加载不完整或按钮点击无反应等问题。这些问题通常由JavaScript冲突、浏览器设置不当或插件干扰等原因引起。作为HostEase的技术人员我将为你提供一系列简单有效的JavaScript故障排除方法帮助你快速定位并解决这些问题。禁用可能干扰JavaScript的浏览器扩展,广告拦截器,安全插件或某些脚本管理器可能会干
揭秘MavenShading和Maven依赖优先级:解决依赖冲突的终极方案
lifallen
Java 开发语言 java ide maven
MavenShading的原理MavenShading是一种在构建项目时,用来解决Java项目中“依赖冲突”问题的技术。当你的项目或者你项目所依赖的库,同时引用了另一个库的不同版本时,就可能出现依赖冲突,这会导致程序在运行时出现ClassNotFoundException或NoSuchMethodError等错误。MavenShading的核心原理是通过maven-shade-plugin插件,将
Nginx负载均衡
510888780
nginx 应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
RedHat 6.4 安装 rabbitmq
bylijinnan
erlang rabbitmq redhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
FilenameUtils工具类
eksliang
FilenameUtils common-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
浅谈java转成json编码格式技术
百合不是茶
json编码 java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
java web.xml SSI spring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
Installing SonarQube(Fail to download libraries from server)
sunjing
Install Sonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
lunce创建索引及简单查询
chengxuyuancsdn
查询 创建索引 lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
[IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
flashback transaction闪回事务查询
daizj
oracle sql 闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
公司项目NODEJS实践0.1
逐行分析JS源代码
mongodb nginx ubuntu nodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
java.lang.Math
liuhaibo_ljf
java Math lang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
ZooKeeper3.4.6的集群部署
roadrunners
zookeeper 集群 部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
微信支付api返回的xml转换为Map的方法
xu3508620
xml map 微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><