Datatables 表格插件
Datatables 表格插件
JS 插件文档库邀你一起协同创作 -
Datatables
这是我见过最强大的在线表格插件了,官方文档也比较完整,建议直接看英文版本,初次看可能会有点逻辑混乱,但是多看看,每次都有一些收获。这里我还是通过示例的方式,来介绍一下数据获取以及参数传递的方式。
1. 准备
相比Bootstrap-Table
,Datatables的前台页面中需要定义表格的表头,否则将无法显示,代码如下:
ID
Item name
Item price
列1
列2
列3
列4
操作
在前后各多出一列,后面会介绍它的用处。表头定义好后,接下来就是引入库文件了,1个css文件,2个js文件。如下:
js文件依然还是放到最底下,
之前即可,引入正确的库文件之后,准备工作就OK了。
2. 初步使用
Datatables
提供了4种获取表格数据的方式,这里只介绍:通过Ajax异步获取的方式。数据格式依然还是包含数据对象的数组,而且跟之前是同一组数据,看下初步效果:
同样的配方,不一样的味道,js中代码实现如下:
$('#table').DataTable({
ajax: {
url: '/json/data.json',
dataSrc: ''
},
columns: [
{ "data": null , defaultContent: '' },
{ "data": "id" },
{ "data": "name"},
{ "data": "price"},
{ "data": "column1" },
{ 'data': "column2" },
{ "data": "column3" },
{ "data": "column4" },
{ "data": null , defaultContent: ''}
]
});
这里需要注意的是:
columns
参数中数组的对象数量,一定要跟前台表格中th
保持一致,否则无法渲染出来。
由于示例中,返回的是包含对象的数组类型 ,于是需要设置dataSrc为空,否则也无法得到数据。Datatables
提供多种返回数据格式,具体参照这里Ajax sourced data
3. 功能介绍
由于Datatables
的功能实在太多了,这里也不可能全部介绍到,根据实际项目经验,主要介绍一些比较实用,或者跟Bootstrap-Table
有差异性的一些功能点。
(1)操作区
还记得上面表格页面预留的两列吧,想必你也猜出来了,最右边的那列,就是用来放操作按钮的,我们添加一个表格参数columnDefs
用来定义列。
columnDefs: [
{
targets: -1,
visible: false,
sortable: false,
render: function(data, type, row){
return '' +
' ' +
' '+
'' +
' ' +
' '+
'' +
' ' +
' ';
}
}
],
targets选择目标列,-1代表倒数第1列,render渲染的样式。最后表格效果如下图:
后面具体的实现方法,就不介绍了,你可以使用modal弹出框,也可以跳转到其他页面。
(2)响应式
在这个移动优先的互联网时代,不适应手机端的页面都不好意思拿出来。Datatables
的Responsive
扩展,似乎比较优雅的解决了,在线表格在手机端无法完美显示的痛点。
上面预留的第一列发挥了它的用处,当点击+号时,自动展开隐藏的列,是不是比较优雅的解决了,在线表格在手机端查看的问题。实现方法非常简单,首先引入Responsive
扩展的库文件,如下:
在表格参数中加入responsive: true
即可,当屏幕尺寸渐渐缩小的时候,后面的列就会自动隐藏到+号里面。那么能不能定义优先级,让我去定义哪些列优先隐藏,哪些列后隐藏。当然可以,在columns
中定义responsivePriority
属性即可。如下:
columns: [
{ "data": null, sortable: false, defaultContent: '' , responsivePriority: 2},
{ "data": "id" },
{ "data": "name", responsivePriority: 1},
{ "data": "price" , responsivePriority: 3},
{ "data": "column1" },
{ 'data': "column2" },
{ "data": "column3" },
{ "data": "column4" },
{ "data": null , defaultContent: '' ,responsivePriority: 4}
],
值越小,显示优先级越高,没有设置值的地方,按照列的先后顺序依次隐藏。
(3)按钮功能
这个是Datatables
比较有特色的一个功能,自由度比较高,可以自定义一系列的功能。它是通过Buttons
的扩展来实现的,在介绍Buttons
之前,需要先了解一下DOM
这个参数,也就是表格的布局。
如上图所示,整个表格页面总共分为了5大块,这5大块分别用一个字母来表示,分别为lftip
,这是默认的布局。DOM设置参考:
l - Length changing
f - Filtering input
t - The Table!
i - Information
p - Pagination
< and > - div elements
<"#id" and > - div with an id
<"class" and > - div with a class
<"#id.class" and > - div with an id and class
如果我们要使用Buttons
扩展,就需要给它预留一个位置,所以我们要在表格参数中,加上DOM
的配置。
简单介绍了下DOM
,现在我们引入Buttons
的扩展文件,官方文档默认提供了5个功能按钮,需要引入一些第三方库,我都一一标注出来了,如下:
库文件引入之后,接下来配置一下DOM
参数以及Buttons
参数,如下:
dom: '<"pull-left"B>ft<"pull-left"i>p',
buttons: [
'copy', 'print', 'excel', 'csv', 'pdf'
],
从上面布局可以看出,Button靠左上,搜索右上,表格中间,信息在左下,分页在右下。效果如下图:
如果你正确的引入了上述的那些库文件,且dom
和buttons
配置正确,那么不用写一句代码就可以直接拥有:复制,打印,导出excel,导出csv,制作PDF的功能了。
但我并不满足上述的一些功能,我想自定义一些按钮,完全没有问题。假如,我想添加一个刷新按钮,在buttons里添加reload
如下:
buttons: [
'copy', 'print', 'excel', 'csv', 'pdf', 'reload'
]
然后加上reload
的定义:
$.fn.dataTable.ext.buttons.reload = {
text: ' ',
action: function ( e, dt, node, config ) {
dt.ajax.reload();
}
};
text为显示的样式,action为执行的操作,dt.ajax.reload()
指的是表格刷新。设置完之后,你会发现按钮组那多了一个按钮,如下图:
你会发现那个图标挺好看的呀,默认的那几个按钮也变成图标就好了,就像下图所示:
于是修改一下buttons
参数如下:
buttons: [
{
text: ' ',
extend: 'copy'
}, {
text: ' ',
extend: 'print'
}, {
text: ' ',
extend: 'excel'
}, {
text: ' ',
extend: 'csv'
}, {
text: ' ',
extend: 'pdf'
}, 'reload'
],
加上title
属性,当鼠标停留的时候,可以显示提示文本。结合Buttons
扩展,我们可以在表格中实现很多功能。
(4)编辑功能
编辑模块在Datatables
中是收费的,其实我们通过「操作区」也是可以实现编辑需求的,这里我再介绍一种具有Datatables
特色的编辑功能。编辑不同于其他功能按钮可以独立存在,编辑功能需要先获取到该行的数据,然后才能执行后续操作。
获取行的操作,意味着需要选择某行,这里再引入一个扩展模块Select,导入库文件:
表格参数中,添加Select
的配置,设置为单选:
select: 'single',
结合Buttons
模块,再添加一个编辑按钮,上面已经介绍过了,相信你会添加。主要看下编辑按钮的动作。
$.fn.dataTable.ext.buttons.edit = {
text: ' ',
action: function ( e, dt, node, config ) {
var rows = dt.rows({ selected: true }); // 获取选中的行
var selectedCount = rows.count(); // 选中的行数量
var data = rows.data()[0]; // 得到行数据
if(selectedCount){
var selectedId = data.id;
$('#edit').modal('show');
$('#edit small').html('编辑项目ID:' + selectedId);
$('#edit form input[name=name]').val(data.name);
$('#edit form input[name=price]').val(data.price);
$('#edit form input[name=column1]').val(data.column1);
$('#edit form input[name=column2]').val(data.column2);
$('#edit form input[name=column3]').val(data.column3);
$('#edit form textarea[name=column4]').val(data.column4);
}else{
alert('请选择行再操作');
}
}
};
这里有一个判断,选中了行,才能接下来的操作。示例代码就写到这里,实际执行编辑功能,需要结合后台来实现。
好了,Datatables
的介绍,我想就讲到这里,这里通过示例,大概介绍了Responsive
、Buttons
、Select
扩展模块的使用。由于功能实在太多,不可能面面俱到,而且官方文档的介绍已经很详细了,建议没事翻翻文档。
更多Chat...
你可能感兴趣的:(Datatables 表格插件)
Android和IOS应用开发-Flutter应用让屏幕在 app 运行期间保持常亮的方法
江上清风山间明月
Flutter android ios flutter KeepAlive 屏幕常亮 wakelock 熄屏
文章目录Flutter应用让屏幕在app运行期间保持常亮的方法方法一:使用系统插件方法二:使用Widgets注意事项Flutter应用让屏幕在app运行期间保持常亮的方法在Flutter开发中,可以使用以下两种方法让屏幕在app运行期间保持常亮:方法一:使用系统插件Flutter社区中已经有很多相关插件可供使用,比如wakelock:https://pub.dev/packages/wakeloc
lodash插件
吃我一锅
一些插件
安装npminstalllodash引入importorderByfrom'lodash/orderBy'使用orderBy(要排序的变量,要排序的字段,升序还是降序)//例如,评论按照点赞数量排序orderBy(lilst,'like','desc')
ES-LTR粗排模块
poins
jenkins 运维
ES-LTR粗排模块官方资源:https://github.com/HeiBoWang/elasticsearch-learning-to-rankElasticsearch学习排名插件使用机器学习提高搜索相关性排名。它为维基媒体基金会和Snagajob等地方的搜索提供了动力!这个插件有什么功能此插件:允许您在Elasticsearch中存储特征(Elasticsearch查询模板)记录特征得分(
Ai插件脚本合集安装包,免费教程视频网盘分享
全网优惠分享君
随着人工智能技术的不断发展,越来越多的插件脚本涌现出来,为我们的生活和工作带来了便利。然而,如何快速、方便地获取和使用这些插件脚本呢?今天,我将为大家分享一个非常实用的资源——AI插件脚本合集安装包,以及免费教程视频网盘分享。首先,让我们来了解一下这个AI插件脚本合集安装包。它是一个集合了众多AI插件脚本的资源包,涵盖了各种领域,如数据分析、自动化办公、智能客服等等。通过这个安装包,用户可以轻松地
flutter boost 如何从native跳转到flutter页面
Icarus_
flutter flutter
FlutterBoost是一个Flutter插件,它可以帮助开发者在原生应用和Flutter应用之间无缝跳转。以下是一些基本步骤,展示了如何使用FlutterBoost从原生(Native)页面跳转到Flutter页面。1.配置FlutterBoost在你的Flutter项目中集成FlutterBoost插件。这通常涉及到修改`pubspec.yaml`文件来添加依赖项,并根据FlutterBoo
eclipse导入项目 warning报错 org.springframework.ide.eclipse.core.springnature
zhangfeng1133
ide eclipse java
报错org.springframework.ide.eclipse.core.springnature报错信息"org.springframework.ide.eclipse.core.springnature"通常表示EclipseIDE中与Spring框架集成的插件出现了问题。这个错误可能是因为SpringIDE插件没有正确安装或配置,或者Eclipse的更新过程中出现了问题。解决方法:确认S
使用Python读取Excel文件并计算平均分
嘻嘻爱编码
Python从入门到放弃 python excel 开发语言
在这篇博客中,我们将探讨如何使用Python的pandas库来读取Excel文件,并计算其中数据的平均分。pandas是一个强大的数据分析工具,它允许我们以简单直观的方式处理表格数据。安装必要的库在开始之前,确保你的环境中安装了pandas和openpyxl库。可以使用以下命令进行安装:pipinstallpandasopenpyxl读取Excel文件首先,我们需要读取Excel文件。假设我们有一
python项目练习——7.网站访问日志分析器
F——
python项目练习 python 信息可视化 数据分析 数据挖掘 开发语言 学习
项目功能分析:这个项目可以读取网站的访问日志文件,统计访问量、独立访客数、访问来源等信息,并以图表或表格的形式展示出来。这个项目涉及到文件操作、数据处理、数据可视化等方面的技术。示例代码:importrefromcollectionsimportCounterimportmatplotlib.pyplotaspltdefparse_log_file(log_file):#读取日志文件内容witho
时间管理训练营第六期作业:通过excell表格记录,你有什么体会?
三味淑屋
作业没有记录就没有发生。记录,你才能够在时光的隧道里发现许多光,看到更多希望!作业1、你专注在哪里,你就会在哪里出成果。这三天的时间盘点,虽然今天还没结束,但是基本上都是按照平时的安排来进行。记录的过程中,会看到自己的时间花在哪。今年在个人成长的维度上,会看到这一块时间相对别的板块比较多,在娱乐休闲与朋友关系上的时间比较少,需要提醒自己要在时间上再做一些分配,让自己的工作和生活更平衡些。当然,这个
Pytest 自定义HOOK函数
咖啡加剁椒④
软件测试 pytest python 开发语言 软件测试 功能测试 自动化测试 程序人生
除了系统提过的HOOK函数外,也可以通过自定义HOOK的方式实现想要的功能。首先创建一个py文件,里面定义自己的HOOK函数,主要pytest里面的hook函数必须以pytest开头。#myhook.pydefpytest_myhook(user):"""自定义HOOK函数"""defpytest_myhook2():"""自定义HOOK函数"""其次创建自己的插件类,user类的重写__init
html版本号 webpack_html-webpack-plugin详解
weixin_39994949
html版本号 webpack
引言最近在react项目中初次用到了html-webapck-plugin插件,用到该插件的两个主要作用:为html文件中引入的外部资源如script、link动态添加每次compile后的hash,防止引用缓存的外部文件问题可以生成创建html入口文件,比如单页面可以生成一个html文件入口,配置N个html-webpack-plugin可以生成N个页面入口有了这种插件,那么在项目中遇到类似上面
RockyLinux8 & RockyLinux9安装postgresql16-devel开发包
ynzhangyao
postgresql
1、PG的插件扩展有些需要自行编译,需要安装PG开发包2、RockyLinux8安装#创建用户先useraddpostgressudodnfinstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudodnf-qymoduledisa
webpack快速基础
风漫漫雨歇歇
webpack webpack 前端 前端框架
文章目录webpack快速基础1.概念1.1入口1.2输出(output)1.3loader1.4插件(plugin)2.建立项目,用于测试功能2.1安装webpack,2.2创建webpack配置文件,2.3配置package.json,运行项目3.配置mode开发环境4.配置entry编译入口5.配置output编译出口6.配置加载csswebpack快速基础1.概念webpack是现代Jav
强大的文本编辑器:Sublime Text for Mac注册激活版
macw_q
后端
SublimeTextforMac是一款功能强大的文本编辑器,特别适合程序员和开发者使用。它提供了丰富的功能,如智能代码补全、语法高亮、自定义快捷键、项目管理、多行选择、自动保存等,以提高代码编写效率和舒适度。此外,SublimeText还支持插件扩展,用户可以根据自己的需求安装各种插件,进一步增强编辑器的功能。软件下载:SublimeTextforMac注册激活版下载在Mac上使用Sublime
MyBatis面试专题
XMYX-0
面试 mybatis 面试 职场和发展
文章目录什么是MyBatis?讲下MyBatis的缓存一级缓存二级缓存Mybatis是如何进行分页的?分页插件的原理是什么?分页插件的原理举例说明简述Mybatis的插件运行原理,以及如何编写一个插件?插件运行原理编写一个插件的基本步骤Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?动态SQL的执行原理#{}和${}的区别是什么?为什么说Mybatis是半
idea中常见快捷键及插件操作
程序员老石
intellij-idea java ide
1、双击shift【万能】(1)输入pull,回车可以更新代码(2)输入commit,回车可以提交代码(3)输入history,可以查看提交记录(4)输入break,回车可以查看所有断点(5)输入类名,方法名,url地址都可以检索到2、安装EasyJavadoc插件(1)在方法上ctrl+\,自动生成方法的注释信息;(2)在类上ctrl+shift+\,自动生成类相关的注释信息3、安装Mybati
vue-pdf 预览pdf (数据流)
reembarkation
vue.js pdf javascript
页面有个要预览pdf的需求,数据是从后台传递过来的数据流:1.安装插件:npminstallvue-pdf2.在页面引用:importpdffrom'vue-pdf'...components:{pdf},3.html中添加:4.通过接口获取数据:downloadFile({id:this.id}).then((res)=>{if((!res&&res.status!=200)||(res.dat
elasticsearch同步mysql数据库神器之go-mysql-elasticsearch
强哥的博客
数据库
go-mysql-elasticsearch是国内作者开发的一款插件。测试表明:该插件优点:能实现同步增、删、改、查操作。不足之处(待完善的地方):1、日志不是很详细,但是能满足基本需求;2、初始化时,无法自动同步mysql中存在的以前的数据,需要自行解决初始导入(如重建索引批量导入)go-mysql-elasticsearch安装步骤1:安装goyuminstallgo步骤2:安装godepgo
MQ横向对比:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ
namelessmyth
Java框架 MQ rocketmq kafka rabbitmq activemq
前言本文将从多个角度全方位对比目前比较常用的几个MQ:RocketMQKafkaRabbitMQActiveMQZeroMQ下文单独说明。表格对比特性RocketMQKafkaRabbitMQActiveMQ单机吞吐量10万级,支撑高吞吐10万级以上,甚至有文献称,可以达到单机百万级TPS。万级,同ActiveMQ万级,相对其他MQ较低。topic数量对吞吐量的影响topic可以达到几百/几千的级
开发chrome扩展( 禁止指定域名使用插件)
徐同保
chrome 前端
mainfest.json:{"manifest_version":3,"name":"ChatGPT学习","version":"0.0.2","description":"ChatGPT,GPT-4,Claude3,Midjourney,StableDiffusion,AI,人工智能,AI","icons":{"16":"./images/logo.png","48":"./images/lo
每天进步一点点,坚持带来大改变
海到尽头
前段时间在隔离点上班的时候,有许多的工作需要用到Excel表格。可因为平时没怎么用,偶尔用一下,也没有太认真去学习,有时候同事问到我,我也直接说不会。心里想着,反正都这么大年龄了,懒得再去多学点什么,就这样混一天算一天吧!直到这次外出工作,才发现啥都不会的尴尬。虽然有更年轻的同事会做这些,虽然不会正好可以不用做,可实在不是我一贯的工作作风。我喜欢自己有能力在短时间内胜任别人交给我的所有工作的感觉。
ppt插件构思
溢彩风华
powerpoint
功能:1.编辑代码2.代码运行3.代码检查4.代码格式化5.运行简单的可视化、游戏化、交互式这是一个针对PPT(MicrosoftPowerPoint)的插件概念描述,该插件旨在提升PPT在演示编程相关内容时的功能丰富度。以下是这个插件的主要功能点:编辑代码:用户可以在PPT内部直接编写和修改代码片段,无需跳转到外部IDE(集成开发环境),方便快捷地展示编程过程或示例。代码运行:插件具备执行所编辑
拖拽插件的使用(vue-draggable-resizable)
Nancy哇
笔记 vue.js javascript 前端
拖拽功能使用插件(vue-draggable-resizable)用于可拖动和可调整大小元素的Vue2组件。1.使用-安装插件依赖npminstall--savevue-draggable-resizable-在项目中引用importVueDraggableResizablefrom"vue-draggable-resizable";exportdefault{components:{VueDra
WordPress Plugin NotificationX插件 SQL注入漏洞复现(CVE-2024-1698)
OidBoy_G
漏洞复现 sql web安全 安全
0x01产品简介WordPress和WordPressplugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。0x02漏洞概述WordPresspluginNotificationX是一个应用插件。2.8.2版本及之前存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有SQL查询缺乏充分
vite和webpack的区别
小王学前端️
vue3 webpack 前端 javascript
vite和webpack的区别从底层原理上来说,Vite是基于esbuild预构建依赖。而esbuild是采用go语言编写,因为go语言的操作是纳秒级别,而js是以毫秒计数,所以vite比用js编写的打包器快10-100倍。Vite和Webpack都是现代前端开发中的常见打包工具,但在实际使用过程中,它们存在五个主要区别:1.开发模式不同;2.打包效率不同;3.插件生态不同;4.配置复杂度不同;5
vue+elementUI实现右击指定表格列的单元格显示选择框
yuhuamei
vue.js elementui 前端
一、template代码如下:1、表格单元格中添加的代码:{{scope.row[item.prop]}}2、右键时弹出的选择框代码选择铁心级号全选显示-->隐藏js代码如下://铁心级号选择时handleCheckedChange:function(val){letcheckedCount=val.length;this.checkAll=checkedCount===this.coreLeve
解析Excel数据如虎添翼:Excel数据监听器助你快速解析数据,轻松驾驭业务需求,一键解析,风云再起,数据处理从未如此简单,事半功倍
吃海的虾酱
技术问题 excel linux java maven guava spring cloud intellij-idea
以下代码是一个Excel数据监听器,用于监听和处理Excel数据的读取事件。它实现了AnalysisEventListener接口,并重写了其中的方法。以下是代码中的主要部分:1、整体解读在使用EasyExcel读取Excel文件时,如果没有指定表头所在的行数,EasyExcel会默认根据内容进行智能识别,尝试找到表头所在的行。invokeHead方法:在解析Excel表格的表头时触发的回调方法。
html行内元素(内联元素),块级元素分别有哪些?
王 歪歪
基础知识 html 前端
html行内元素(内联元素),块级元素分别有哪些?常用的分类包括行内元素(内联元素)和块级元素。下面是它们的示例列表:行内元素(InlineElements):内联元素(InlineElements)是行内元素的另一个术语,它们的行为和显示方式与行内元素相似。块级元素(Block-levelElements):到标题和列表列表项表格表单、、等语义化元素、、等语义化元素块级元素在默认情况下会在新行上
HTML 学习笔记(十)块和内联
Leisureconfused
HTML html 学习 笔记
每个HTML元素都有一个默认的显示值,显示值又可以再分为block(块)和inline(内联)一、块元素通过F12进入浏览器开发者模式查看该元素会发现其所占宽度为整个网页的宽度1.div标签通过div标签将一些元素装进"盒子",从而对盒子中的全部元素进行相同的操作table标题第一段第二段2.常见的块元素table块级元素标题元素段落元素列表元素表格元素分块元素h1-h6pol,li,ul,dl,
Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据
我的Python教程
我的Python教程 # Pandas pandas excel Python教程
---------------pandas数据分析集合---------------Python教程71:学习Pandas中一维数组SeriesPython教程74:Pandas中DataFrame数据创建方法及缺失值与重复值处理Pandas数据化分析,DataFrame行列索引数据的选取,增加,修改和删除操作Pandas教程05:DataFrame数据常用属性和方法汇总Pandas教程06:Da
矩阵求逆(JAVA)初等行变换
qiuwanchi
矩阵求逆(JAVA)
package gaodai.matrix;
import gaodai.determinant.DeterminantCalculation;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 矩阵求逆(初等行变换)
* @author 邱万迟
*
JDK timer
antlove
java jdk schedule code timer
1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod
JVM调优总结 -Xms -Xmx -Xmn -Xss
coder_xpf
jvm 应用服务器
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx
JDBC连接数据库
Array_06
jdbc
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
//完
Unsupported major.minor version 51.0(jdk版本错误)
oloz
java
java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType)
at org.apache.catalina.loader.WebappClassL
用多个线程处理1个List集合
362217990
多线程 thread list 集合
昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public c
JSP简单访问数据库
香水浓
sql mysql jsp
学习使用javaBean,代码很烂,仅为留个脚印
public class DBHelper {
private String driverName;
private String url;
private String user;
private String password;
private Connection connection;
privat
Flex4中使用组件添加柱状图、饼状图等图表
AdyZhang
Flex
1.添加一个最简单的柱状图
? 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
<?xml version=
"1.0"&n
Android 5.0 - ProgressBar 进度条无法展示到按钮的前面
aijuans
android
在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下:
[html]
view plain
copy
<RelativeLa
查询汇总的sql
baalwolf
sql
select list.listname, list.createtime,listcount from dream_list as list , (select listid,count(listid) as listcount from dream_list_user group by listid order by count(
Linux du命令和df命令区别
BigBird2012
linux
1,两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
AngularJS中的$apply,用还是不用?
bijian1013
JavaScript AngularJS $apply
在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。
但是首先,让我们把$apply转换成一种简化的形式。
scope.$apply就像一个懒惰的工人。它需要按照命
[Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化
bit1129
zookeeper
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
&
【Java命令一】jmap
bit1129
Java命令
jmap命令的用法:
[hadoop@hadoop sbin]$ jmap
Usage:
jmap [option] <pid>
(to connect to running process)
jmap [option] <executable <core>
(to connect to a
Apache 服务器安全防护及实战
ronin47
此文转自IBM.
Apache 服务简介
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到
unity 3d实例化位置出现布置?
brotherlamp
unity教程 unity unity资料 unity视频 unity自学
问:unity 3d实例化位置出现布置?
答:实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(
《重构,改善现有代码的设计》第八章 Duplicate Observed Data
bylijinnan
java 重构
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE
struts2更改struts.xml配置目录
chiangfai
struts.xml
struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml)
web.xml文件修改如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class&g
redis做缓存时的一点优化
chenchao051
redis hadoop pipeline
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi
mysql导出数据不输出标题行
daizj
mysql 数据导出 去掉第一行 去掉标题
当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数
如通过下面命令导出数据:
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName" > exportResult.txt
结果为:
studentid
phpexcel导出excel表简单入门示例
dcj3sjt126com
PHP Excel phpexcel
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('
爱情格言
dcj3sjt126com
格言
1) I love you not because of who you are, but because of who I am when I am with you. 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 2) No man or woman is worth your tears, and the one who is, won‘t
转 Activity 详解——Activity文档翻译
e200702084
android UI sqlite 配置管理 网络应用
activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro
win7安装MongoDB服务
geeksun
mongodb
1. 下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads
2. 解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d
Javascript魔法方法:__defineGetter__,__defineSetter__
hongtoushizi
js
转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function Book(name){
错误的日期格式可能导致走nginx proxy cache时不能进行304响应
jinnianshilongnian
cache
昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头: Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expires:Mon , 05 Jan 15 02:03:00 GMT Last-Modified:Mon, 05
数据源架构模式之行数据入口
home198979
PHP 架构 行数据入口
注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。
一、概念
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。
二、简单实现行数据入口
为了方便理解,还是先简单实现:
<?php
/**
* 行数据入口类
*/
class OrderGateway {
/*定义元数
Linux各个目录的作用及内容
pda158
linux 脚本
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于
Windows
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d
ubuntu12.04上编译openjdk7
ol_beta
HotSpot jvm jdk OpenJDK
获取源码
从openjdk代码仓库获取(比较慢)
安装mercurial Mercurial是一个版本管理工具。 sudo apt-get install mercurial
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe
将数据库字段转换成设计文档所需的字段
vipbooks
设计模式 工作 正则表达式
哈哈,出差这么久终于回来了,回家的感觉真好!
PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。