bootstrap tree及json
一直做android开发的,好多年不做web项目了,突然team有一个web小项目要我上,然后就迅速连搜带查的把之前的web相关知识捡了捡。 但是对于最近流行的一些技术还是稍微有一点陌生,bootstrap就是其中之一,但是一般做了很久开发的人,对于新技术应该是学习很快,所以参考网上的例子,再结合api,一般的问题都能顺利解决。 这里针对bootstrap tree开发过程中的一些困惑,做一个笔记,不然时间久了会忘吧。
参考资料及api
首先是看一些例子,找到自己想要实现的效果,这里参看的下面链接的效果: http://www.htmleaf.com/Demo/201502141380.html
相关的基础api找一个,不知道是不是最全的,但是基本的一些属性和方法都有: https://www.npmjs.com/package/bootstrap-treeview#emptyicon
实现效果
网上很多用bootstrap tree是用一些标签拼的,我要实现的是基于数据库数据的,所以json是比较合适的数据结构。
(因为公司的项目数据不能展示,以下的效果截自网络,代码逻辑是没问题,做简单的替换即可)
最终要实现的效果: -基本功能就是生成树,单选; -不是叶子节点,不能被选中,只有叶子节点才能被选中; -对树的数据进行更新操作,就需要更新的时候有之前的默认选中节点。
代码实现
首先jsp引入需要的资源:
"bootstrap.css" rel="stylesheet" >
相关代码:
Tree
"6">
"selectable_tree"
class ="tree ">div >
td >
tr >
<script type ="text /javascript ">
$("#selectable_tree" ) .treeview ({
data: <%=JSONArray.fromObject(TreeMgr.createCatalogTree("1" ,-1 ) ) .toString() %>,
multiSelect:false,
onNodeSelected: function(event, node) {
},
onNodeUnselected: function (event, node) {
},
onNodeChecked: function(event, node) {
},
onNodeUnchecked: function (event, node) {
}
}) ;
script >
节点的类对象定义:
public class TreeNode {
public static final int LEAF_NODE_LEVEL = 4;
private Integer id ;
private String text ;
private Integer pid ;
private Integer level ;
private boolean isLeaf = false ;
//默认不能被选中,这里实现的只有叶子节点才能被选中,在TreeManager .java 中有判断
private boolean selectable = false ;
private State state = new State () ;
private List nodes = new ArrayList () ;
//中间的所有成员变量的getter ,setter 方法省略
//内部类,定义节点的状态,这是根据bootstrap tree api 中的节点结构定义的,其中的定义要求
//是:state :Object Optional Describes a node 's initial state . 所以必须是类成员,
//该内部类也可以单独拿出来,但是还是定义为内部类比较合适
public class State {
private boolean checked = false ;
private boolean disabled = false ;
private boolean expanded = false ;
private boolean selected = false ;
public boolean isChecked () {
return checked ;
}
public void setChecked (boolean checked) {
this .checked = checked ;
}
public boolean isDisabled () {
return disabled ;
}
public void setDisabled (boolean disabled) {
this .disabled = disabled ;
}
public boolean isExpanded () {
return expanded ;
}
public void setExpanded (boolean expanded) {
this .expanded = expanded ;
}
public boolean isSelected () {
return selected ;
}
public void setSelected (boolean selected) {
this .selected = selected ;
}
}
}
在定义要生成json数据的节点对象的时候要注意,根据开头提到的api中对于bootstrap tree的节点格式定义是以下这样,那么这里有几点要注意:
成员变量名应该与api中节点属性名一致,不然会出现该属性会使用bootstrap 默认的节点属性和值。 例如,如果没有定义id,当取对id进行取值操作的时候会发现,并不是你数据源的id值,而是bootstrap按照从上至下的顺序排列出来的一个id值。
节点对象的定义要去满足api中节点的数据结构,例如state,api指定说明需要一个类对象来初始化,我也是反复看了几遍,试了很多次才明白它的意思。
因为json数组的生成格式是一样的,所以会存在叶子节点中的nodes没有数据的情况,这个时候会出现叶子节点是可以伸缩的,因为nodes属性就是一个对象数组,它会被认为它还有子节点,其实是没有的。我觉得这里如果能把叶子节点的这个nodes成员变量去掉就好了,就可以实现叶子节点不能收缩的效果,不然会让人以为它还有子节点。暂时没有想到好办法,有好办法的朋友可以留言。
{
text: "Node 1" ,
icon: "glyphicon glyphicon-stop" ,
selectedIcon: "glyphicon glyphicon-stop" ,
color: "#000000" ,
backColor: "#FFFFFF" ,
href: "#node-1" ,
selectable: true,
state: {
checked: true,
disabled: true,
expanded: true,
selected: true
},
tags: ['available' ],
nodes: [
{},
...
]
}
生成json的数据库操作:
public class TreeMamager {
@SuppressWarnings ("unchecked" )
public static TreeNode createTree (String id,int historyId) {
// 第一次应该获取的根节点
TreeNode node = getTreeNode (id) ;
// 获取根节点下的所有子节点
List <TreeNode > childTreeNodes = queryChildTreeNode (String.valueOf(node.getId() ) ) ;
// 判断是否为叶子节点
if (childTreeNodes.isEmpty() ) {
node .setLeaf (true) ;
node .setSelectable (true) ;//只有叶子节点才可以被选中
node .getState () .setExpanded (true) ;
// 如果叶子节点的id 等于之前选中的historyId ,那么该叶子节点默认选中
if (node.getId() ==historyId) {
node .getState () .setSelected (true) ;
}
} else {
//不是叶子节点,递归查询下一层子节点
for (TreeNode child : childTreeNodes) {
TreeNode n = createTree (String.valueOf(child.getId() ) ,historyId) ; // 递归
node .getNodes () .add (n) ;
}
}
return node ;
}
private static TreeNode getTreeNode (String id) {
TreeNode node = new TreeNode () ;
//从数据库中查询节点
Object object = DBManager .getDataById (id) ;
node .setText (object.getCatalogName() ) ;
node .setId (object.getId() ) ;
node .setLevel (object.getCatalogLevel() ) ;
node .setPid (object.getParentId() ) ;
return node ;
}
private static List <TreeNode > queryChildTreeNode (String pId) {
//从数据库中查询pId 下的子节点数据
List <Object > objects = DBManager .getChildDataByPId (pId) ;
List <TreeNode > childTreeNodes = new ArrayList <TreeNode >() ;
for (Object object : objects) {
TreeNode node = new TreeNode () ;
node .setText (object.getCatalogName() ) ;
node .setId (object.getId() ) ;
node .setLevel (object.getCatalogLevel() ) ;
node .setPid (object.getParentId() ) ;
childTreeNodes .add (node) ;
}
return childTreeNodes ;
}
}
你可能感兴趣的:(WEB)
melody-canvas:实时音频可视化与创意画布
melody-canvas:实时音频可视化与创意画布项目介绍melody-canvas是一个开源项目,致力于为用户提供一个强大的音频可视化与画布编辑平台。通过该平台,用户可以利用Web技术实时地将音频信号转换成视觉元素,同时支持画布上的图像和文本编辑,创作出独一无二的音频艺术作品。项目技术分析melody-canvas的核心功能基于现代Web技术构建,主要包括以下技术组件:WebAudioAPI:
全新开发范式:uni-app X助力全平台原生应用
程序媛夏天
小白学鸿蒙 uni-app
在2025年数字技术发展的关键节点上,国产操作系统正在经历从愿景走向现实的深刻变革。DCloud于5月12日发布的HBuilderX4.64正式版,标志着uni-appx已实现对鸿蒙、Android、iOS、Web、微信小程序等主流平台的全覆盖,为开发者带来了全新的跨平台开发体验。一、技术革新:Web技术栈与原生性能的完美融合uni-appx的突破性在于其独特的设计理念:“开发态基于Web技术栈,
Agora_Unity_WebGL:实时互动的WebGL解决方案
Agora_Unity_WebGL:实时互动的WebGL解决方案项目介绍Agora_Unity_WebGL是一个开源的UnityWebGL插件,它是对AgoraWebSDK4.x版本的封装。这个项目旨在为开发者提供一种在Unity中轻松集成实时音视频互动功能的方法,特别适用于需要在Web平台运行的Unity项目。通过这个插件,开发者可以快速地实现实时音频、视频通信以及直播等功能。项目技术分析Ago
关于浏览器扩展脚本:remove-web-limits(网页限制解除)
vvandre
前端
本文介绍浏览器扩展脚本:remove-web-limits(网页限制解除)实现的功能和安装步骤,还会详细分析脚本的代码,让你对实现原理一目了然。此脚本通杀大部分网站,可以解除禁止复制、剪切、选择文本、右键菜单的限制。脚本基本不影响网页正常功能,如果影响了任何功能,可以暂时禁用脚本解决。脚本已有10年的历史,原作者已经暂停维护。remove-web-limits发布地址一、安装步骤1.安装扩展程序C
Javaweb笔记
笙鹿鸣
html 前端 html5
HTMLHTML网页常用基础知识网页结构JavaSEC/SClientserver客户端–服务器JavaWebB/SBroswerServer浏览器–服务器网页的组成部分:内容(结构)、表现、行为HTML:HyperTextMarkupLanguage(超文本标记语言)ALT+F2选择浏览器HTML书写规范:表示整个html页面的开始头信息标题标题body是页面的主体内容页面主体内容表示整个htm
Spring Boot、Spring MVC 和 Spring 有什么区别
spring是⼀个IOC容器,⽤来管理Bean,使⽤依赖注⼊实现控制反转,可以很⽅便的整合各种框架,提供AOP机制弥补OOP的代码重复问题、更⽅便将不同类不同⽅法中的共同处理抽取成切⾯、⾃动注⼊给⽅法执⾏,⽐如⽇志、异常等springmvc是spring对web框架的⼀个解决⽅案,提供了⼀个总的前端控制器Servlet,⽤来接收请求,然后定义了⼀套路由策略(url到handle的映射)及适配执⾏h
Spring, Spring Boot 和Spring MVC的关系以及区别
棕豆兔&
面试总结 spring spring boot mvc
一、Spring简单来说,Spring是一个开发应用框架,主打轻量级、一站式、模块化,其目的是用于简化企业级应用程序开发。Spring的主要功能:管理对象,以及对象之间的依赖关系,面向切面编程,数据库事务管理,数据访问,web框架支持等。但是Spring具备高度可开放性,并不强制依赖Spring,开发者可以自由选择Spring的部分或者全部,Spring可以无缝继承第三方框架,比如数据访问框架(H
基于YOLOv8的Web端交互式目标检测系统设计与实现
YOLO实战营
YOLO 前端 目标检测 人工智能 ui 目标跟踪 计算机视觉
1.引言目标检测是计算机视觉领域的一项重要任务,它在安防监控、自动驾驶、医疗影像分析等领域有着广泛的应用。近年来,随着深度学习技术的快速发展,YOLO(YouOnlyLookOnce)系列算法因其出色的速度和精度平衡而备受关注。本文将详细介绍如何基于最新的YOLOv8模型构建一个Web端交互式目标检测系统,包含完整的UI界面设计和数据集处理流程。本系统将实现以下功能:基于YOLOv8的高效目标检测
jxWebUI--数据表
容器表是用来排布web组件的,数据表顾名思义就是用来输入输出数据的。数据表可以细分为三种:条件查询、分页显示的查询表可以录入表格型数据的录入表用来显示表格型数据的显示表这些都是数据表,只是属性不同:查询表是设置了:bind=tableTotalCount和pagination=true录入表是设置了:newRow=true显示表是这三个属性都不设置注1:查询表的显示已经纳入了jxWebUI的内置工
jxORM--编程指南
jxandrew
jxWebUI 数据库 python jxWebUI jxORM ORM
jxORM是jxWebUI配套的数据库操作库,可以简化python程序员操作数据库。声明数据类定义数据类之前,先导入ORM修饰符:fromjxORMimportORM,DBDataType,ColType然后就可以用ORM修饰符来修饰一个类,从而定义一个数据类:@ORMclassUser:ID:DBDataType.Long=ColType.PrimaryKeyCreateTime:DBDataT
禅道和rocketchat的消息通信详细介绍(腾讯元宝)
以下是禅道(ZenTao)与Rocket.Chat之间消息通信的详细介绍,涵盖集成方式、技术实现及典型应用场景:1.集成背景禅道:开源项目管理工具,用于需求、任务、Bug跟踪。Rocket.Chat:开源企业级即时通讯平台。集成价值:实现项目动态自动同步至聊天群组,提升团队协作效率。2.通信方式(1)Webhook单向推送原理:禅道通过Webhook将事件(如Bug创建)推送至Rocket.Cha
LVS的10种调度算法
蜡笔晓心
其他
1.1静态算法:1.1.1rr(roundrobin):轮询调度算法:轮询调度算法的原理就是依次将用户的访问请求,平均的分配到每一台web服务节点上,从1开始,到最后一台服务器节点结束,然后在开始新一轮的循环,这种算法简单,但是没有考虑到每台节点服务器的具体性能1.1.2wrr(weight):权重调度算法由于每台服务器的性能会高低不同,wrr将会根据管理员设定的权重值来分配访问请求,权重值越大的
Three.js入门:创建第一个3D场景
薯条说影
Three.js 3D场景创建 跨平台设置 安全异常处理 HTML骨架搭建
背景简介Three.js是一个轻量级的3D图形库,它让Web开发者能够在浏览器中创建和显示3D图形。本章介绍如何设置环境以开始使用Three.js,包括不同操作系统下的安装步骤、安全异常处理以及基本的HTML骨架创建。安装与设置操作系统兼容性:Three.js的使用不仅限于Windows系统。对于其他操作系统,如Linux和MacOS,需要将可执行文件复制到目标目录,并通过命令行启动。无论是哪种操
58、JavaScript中的类定义与对象创建
pepper
JavaScript 类定义 对象创建
JavaScript中的类定义与对象创建1.引言在现代Web开发中,JavaScript已经成为不可或缺的一部分。随着JavaScript的发展,面向对象编程(OOP)的概念也逐渐融入其中。通过定义类和创建对象,可以使代码更加模块化、易于维护和复用。本文将详细介绍如何在JavaScript中定义新类,并创建自定义对象,包括属性和方法的添加。2.构造函数的基础构造函数是一种特殊的函数,主要用于创建和
JavaScript进阶:探索模块化、ES6+与前端框架
WayneYalejk
javascript es6 前端框架
随着Web技术的快速发展,JavaScript也在不断演进。ES6(ECMAScript2015)及更高版本的发布为JavaScript带来了许多新特性和改进,使得JavaScript更加强大和易用。同时,模块化编程和前端框架的兴起也极大地推动了前端开发的现代化进程。本文将带您深入探索JavaScript的进阶话题,包括模块化、ES6+新特性以及前端框架的应用。1.模块化编程模块化的重要性:解释模
爬虫_加速乐秒杀
kisloy
爬虫 逆向 爬虫 python
加速乐补环境补环境window={navigator:{userAgent:"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/104.0.0.0Safari/537.36"},outerWidth:1920,outerHeight:1050,};location={reload:functi
C#编程,.Net 依赖注入IOC框架入门之一 CastleWindso
子不语
依赖注入 .net 依赖注入 IOC
一、简介Castle是.net平台上的一个开源项目,为企业级开发和WEB应用程序开发提供完整的服务,用于提供IOC的解决方案.IOC被称为控制反转或者依赖注入(DependencyInjection)。Windsor是Castle的一个IOC容器。它构建于MicroKernel之上,功能非常之强大,能检测类并了解使用这些类时需要什么参数,检测类型和类型之间工作依赖性,并提供服务或者发生错误时提供预
Web3.0 能为你带来哪些实质性的 改变与突破
战族狼魂
Web3专栏 web3
如今各种大厂裁员消息层出不穷,今年又添飞书、剪映、微软、思科...这有一张网友整理的去年互联网大厂裁员裁员信息表:目前国内很多大厂都在裁员,非常现实、且越来越多35+技术人,正在面临这样的问题,那么Web3.0确实为35岁以上的程序员提供了新的出路,但不是“包赚不赔的风口”,而是一次结构性的技能重塑机会。它的技术迭代周期更长、更加去中心化与开放,对“经验型程序员”来说,是个有门槛但值得投入的方向。
结合自身,制定一套明确的 Web3 学习路线和技术栈建议
战族狼魂
Web3专栏 web3 学习
目录✅一、结合自身,明确方向和目的✅二、技术路线和建议技术路线图(按阶段划分)第一阶段:巩固Web3基础(1-2周)第二阶段:NFT平台开发实战(4-6周)第三阶段:钱包整合与增强功能(2-4周)第四阶段:部署&打磨作品(2-3周)✅技术栈建议求职建议(Web3方向)招聘关键词(建议你在招聘网站用这些关键词搜索):项目展示建议:Bonus:后续可拓展方向(你有后端经验)✅三、参考具体规划✅一、结合
CUDA在不受支持的macOS系统上使用(BigSur)
ilovefifa2020
macos github 经验分享 大数据 功能测试 python c++
CUDA与WebDriver在macOS系统上不是同一个东西,CUDA是一个图形库,用于使用GPU在某些软件中进行计算或渲染,只安装CUDA不能使Maxwell和Pascal核心显卡工作,必须同时安装WebDriver,其他核心(如Fermi、kepler)等可以在不安装WebDriver的情况下让CUDA工作。果粉众所周知,CUDA与WebDriver只能在支持的macOS系统HighSierr
.NET依赖注入IOC你了解吗?
IOC在WebAPI中是经常使用的,但是在一些WPF项目并不是经常使用或者被人熟知的,我把相关依赖注入的内容又做了一次学习和整理什么是依赖注入?依赖注入是一种设计模式和软件设计原则,用于实现控制反转。它的核心思想是:将对象所依赖的其他对象的创建和管理职责从对象内部转移到外部容器或框架,从而降低代码的耦合度,提高可测试性、可维护性和灵活性。依赖注入的主要优点降低耦合度(Decoupling):○组件
react(基础篇)
盛码笔记
react.js javascript 前端
React由Meta公司研发,用于构建Web和原生交互界面的库。React官方中文文档查看JSX(一)React组件用户界面的一部分,通俗的来讲,最小的元素组成的单元,可以实现部分逻辑与功能房子的门就可以看成一个组件,由木板和木方组成,有一定功能和作用,多个组件组合就可以形成房子了。组件之间可以相互嵌套,重复使用React组件React中,组件就是一个首字母大写的函数,内部存放组件的逻辑和视图UI
从 C# 到 Python:项目实战第五天的飞跃
AI、少年郎
数据库 c# 开发语言
在前面三天的学习中,我们已经掌握了Python的基础语法、数据结构以及一些核心库的使用。今天,我们将通过三个实战项目,深入对比C#和Python在命令行工具开发、Web应用开发以及数据处理方面的差异,感受Python在实际项目中的强大魅力。一、命令行工具开发:文件批量处理命令行工具是开发者日常工作中经常用到的工具,无论是文件处理、数据转换还是系统管理,都离不开命令行工具的身影。下面我们就来对比一下
精通日志管理:掌握SLF4J与Logback的最佳实践
杨小扩
Spring Boot 从入门到精通 logback spring spring boot java
摘要:在前面的章节中,我们已经构建了能够灵活配置的WebAPI。然而,一个应用在运行时,其内部发生了什么?收到了哪些请求?执行了哪些业务逻辑?出现了什么错误?要回答这些问题,我们必须依赖日志。本章,我们将深入探讨SpringBoot中默认且强大的日志体系:SLF4J作为日志门面,Logback作为日志实现。我们将学会如何优雅地在代码中打印日志、如何通过配置文件控制日志的级别和输出格式,以及如何将日
Vite:下一代前端构建工具的革命
布兰妮甜
vite javascript 前端 构建工具
Hi,我是布兰妮甜!在现代前端开发领域,构建工具的选择对开发体验和项目效率有着决定性影响。从早期的Grunt、Gulp到Webpack、Rollup,前端构建工具不断演进。而Vite的出现,则彻底改变了传统构建工具的工作模式,为开发者带来了前所未有的开发体验。本文将深入探讨Vite的设计哲学、核心特性、工作原理以及实际应用场景。文章目录一、什么是Vite?二、Vite的核心设计理念2.1利用浏览器
google-web浏览器域名和公网ip下服务 无法访问局域网ip服务
风一样的男子&
tcp/ip 前端 网络
因为google的安全策略导致的防止非安全上下文向更多专用IP地址发出子资源请求说白了就是防止公网上的资源直接向局域网ip发起请求,火狐目前可以这么干如果谷歌也想解开这个限制,那么你需要简单配置一下:chrome://flags/#block-insecure-private-network-requests在谷歌浏览器里打开这个代码将Default改为Disabled然后Relaunch即可
Linux机器上Selenium+Python3+Chrome使用driver.get()只能获取到标签而没有内容的解决方法
代码:#!/usr/bin/python3#coding=utf8fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionschrome_options=Options()chrome_options.add_argument('--headless')chrome_options.add_argume
【web 自动化】-6- 数据驱动DDT
皮革院长干测开
web自动化 前端 自动化 运维
一、参数化数据驱动测试1.核心概念:“数据驱动测试”解决什么问题?场景:测试“后台登录”时,用例流程固定(输入账号→密码→登录→断言),但需要测不同数据:正确账号密码(正例)错误密码、空账号(反例)传统做法:写多个用例,重复流程代码,只改数据→冗余、难维护。数据驱动测试:用一套流程代码+多组测试数据,让用例自动遍历数据执行→高效、覆盖全。2.pytest实现参数化的核心:@pytest.mark.
【Java代码审计 | 第五篇】XSS漏洞成因+实战案例
秋说
Java代码审计 java xss
未经许可,不得转载。文章目录XSS漏洞成因1、直接输出用户输入2、在JSP中使用EL表达式输出用户输入3、在Thymeleaf模板中输出用户输入4、在JavaScript中嵌入用户输入实战案例案例1案例2案例3XSSXSS(跨站脚本攻击,Cross-SiteScripting)是一种常见的Web安全漏洞,攻击者通过在网页中注入恶意脚本,使得这些脚本在用户的浏览器中执行。XSS攻击通常分为以下三种类
Java炼金术:从代码到加密货币——用Java铸造数字黄金的黑科技
墨夶
Java学习资料4 java 科技 开发语言
一、智能合约:比“契约精神”更严谨的代码1.1用Java写ERC-20代币(以太坊上的数字黄金)//ERC-20代币合约实现(需配合Web3j框架)publicclassMyERC20Token{privatefinalStringname="JavaCoin";privatefinalStringsymbol
java线程的无限循环和退出
3213213333332132
java
最近想写一个游戏,然后碰到有关线程的问题,网上查了好多资料都没满足。
突然想起了前段时间看的有关线程的视频,于是信手拈来写了一个线程的代码片段。
希望帮助刚学java线程的童鞋
package thread;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date
tomcat 容器
BlueSkator
tomcat Web servlet
Tomcat的组成部分 1、server
A Server element represents the entire Catalina servlet container. (Singleton) 2、service
service包括多个connector以及一个engine,其职责为处理由connector获得的客户请求。
3、connector
一个connector
php递归,静态变量,匿名函数使用
dcj3sjt126com
PHP 递归函数 匿名函数 静态变量 引用传参
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
属性颜色字体变化
周华华
JavaScript
function changSize(className){
var diva=byId("fot")
diva.className=className;
}
</script>
<style type="text/css">
.max{
background: #900;
color:#039;
将properties内容放置到map中
g21121
properties
代码比较简单:
private static Map<Object, Object> map;
private static Properties p;
static {
//读取properties文件
InputStream is = XXX.class.getClassLoader().getResourceAsStream("xxx.properti
[简单]拼接字符串
53873039oycg
字符串
工作中遇到需要从Map里面取值拼接字符串的情况,自己写了个,不是很好,欢迎提出更优雅的写法,代码如下:
import java.util.HashMap;
import java.uti
Struts2学习
云端月影
最近开始关注struts2的新特性,从这个版本开始,Struts开始使用convention-plugin代替codebehind-plugin来实现struts的零配置。
配置文件精简了,的确是简便了开发过程,但是,我们熟悉的配置突然disappear了,真是一下很不适应。跟着潮流走吧,看看该怎样来搞定convention-plugin。
使用Convention插件,你需要将其JAR文件放
Java新手入门的30个基本概念二
aijuans
java 新手 java 入门
基本概念: 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。 2.OOP中最重要的思想是类,类是模板是蓝图,
jedis 简单使用
antlove
java redis cache command jedis
jedis.RedisOperationCollection.java
package jedis;
import org.apache.log4j.Logger;
import redis.clients.jedis.Jedis;
import java.util.List;
import java.util.Map;
import java.util.Set;
pub
PL/SQL的函数和包体的基础
百合不是茶
PL/SQL编程函数 包体显示包的具体数据 包
由于明天举要上课,所以刚刚将代码敲了一遍PL/SQL的函数和包体的实现(单例模式过几天好好的总结下再发出来);以便明天能更好的学习PL/SQL的循环,今天太累了,所以早点睡觉,明天继续PL/SQL总有一天我会将你永远的记载在心里,,,
函数;
函数:PL/SQL中的函数相当于java中的方法;函数有返回值
定义函数的
--输入姓名找到该姓名的年薪
create or re
Mockito(二)--实例篇
bijian1013
持续集成 mockito 单元测试
学习了基本知识后,就可以实战了,Mockito的实际使用还是比较麻烦的。因为在实际使用中,最常遇到的就是需要模拟第三方类库的行为。
比如现在有一个类FTPFileTransfer,实现了向FTP传输文件的功能。这个类中使用了a
精通Oracle10编程SQL(7)编写控制结构
bijian1013
oracle 数据库 plsql
/*
*编写控制结构
*/
--条件分支语句
--简单条件判断
DECLARE
v_sal NUMBER(6,2);
BEGIN
select sal into v_sal from emp
where lower(ename)=lower('&name');
if v_sal<2000 then
update emp set
【Log4j二】Log4j属性文件配置详解
bit1129
log4j
如下是一个log4j.properties的配置
log4j.rootCategory=INFO, stdout , R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appe
java集合排序笔记
白糖_
java
public class CollectionDemo implements Serializable,Comparable<CollectionDemo>{
private static final long serialVersionUID = -2958090810811192128L;
private int id;
private String nam
java导致linux负载过高的定位方法
ronin47
定位java进程ID
可以使用top或ps -ef |grep java
![图片描述][1]
根据进程ID找到最消耗资源的java pid
比如第一步找到的进程ID为5431
执行
top -p 5431 -H
![图片描述][2]
打印java栈信息
$ jstack -l 5431 > 5431.log
在栈信息中定位具体问题
将消耗资源的Java PID转
给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
bylijinnan
函数
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandNFromRand5 {
/**
题目:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。
解法1:
f(k) = (x0-1)*5^0+(x1-
PL/SQL Developer保存布局
Kai_Ge
近日由于项目需要,数据库从DB2迁移到ORCAL,因此数据库连接客户端选择了PL/SQL Developer。由于软件运用不熟悉,造成了很多麻烦,最主要的就是进入后,左边列表有很多选项,自己删除了一些选项卡,布局很满意了,下次进入后又恢复了以前的布局,很是苦恼。在众多PL/SQL Developer使用技巧中找到如下这段:
&n
[未来战士计划]超能查派[剧透,慎入]
comsci
计划
非常好看,超能查派,这部电影......为我们这些热爱人工智能的工程技术人员提供一些参考意见和思想........
虽然电影里面的人物形象不是非常的可爱....但是非常的贴近现实生活....
&nbs
Google Map API V2
dai_lm
google map
以后如果要开发包含google map的程序就更麻烦咯
http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html
找到篇不错的文章,大家可以参考一下
http://blog.sina.com.cn/s/blog_c2839d410101jahv.html
1. 创建Android工程
由于v2的key需要G
java数据计算层的几种解决方法2
datamachine
java sql 集算器
2、SQL
SQL/SP/JDBC在这里属于一类,这是老牌的数据计算层,性能和灵活性是它的优势。但随着新情况的不断出现,单纯用SQL已经难以满足需求,比如: JAVA开发规模的扩大,数据量的剧增,复杂计算问题的涌现。虽然SQL得高分的指标不多,但都是权重最高的。
成熟度:5星。最成熟的。
Linux下Telnet的安装与运行
dcj3sjt126com
linux telnet
Linux下Telnet的安装与运行 linux默认是使用SSH服务的 而不安装telnet服务 如果要使用telnet 就必须先安装相应的软件包 即使安装了软件包 默认的设置telnet 服务也是不运行的 需要手工进行设置 如果是redhat9,则在第三张光盘中找到 telnet-server-0.17-25.i386.rpm
PHP中钩子函数的实现与认识
dcj3sjt126com
PHP
假如有这么一段程序:
function fun(){
fun1();
fun2();
}
首先程序执行完fun1()之后执行fun2()然后fun()结束。
但是,假如我们想对函数做一些变化。比如说,fun是一个解析函数,我们希望后期可以提供丰富的解析函数,而究竟用哪个函数解析,我们希望在配置文件中配置。这个时候就可以发挥钩子的力量了。
我们可以在fu
EOS中的WorkSpace密码修改
蕃薯耀
修改WorkSpace密码
EOS中BPS的WorkSpace密码修改
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】
hanqunfeng
SpringSecurity
SpringSecurity的配置相对来说有些复杂,如果是完整的bean配置,则需要配置大量的bean,所以xml配置时使用了命名空间来简化配置,同样,spring为我们提供了一个抽象类WebSecurityConfigurerAdapter和一个注解@EnableWebMvcSecurity,达到同样减少bean配置的目的,如下:
applicationContex
ie 9 kendo ui中ajax跨域的问题
jackyrong
AJAX跨域
这两天遇到个问题,kendo ui的datagrid,根据json去读取数据,然后前端通过kendo ui的datagrid去渲染,但很奇怪的是,在ie 10,ie 11,chrome,firefox等浏览器中,同样的程序,
浏览起来是没问题的,但把应用放到公网上的一台服务器,
却发现如下情况:
1) ie 9下,不能出现任何数据,但用IE 9浏览器浏览本机的应用,却没任何问题
不要让别人笑你不能成为程序员
lampcy
编程 程序员
在经历六个月的编程集训之后,我刚刚完成了我的第一次一对一的编码评估。但是事情并没有如我所想的那般顺利。
说实话,我感觉我的脑细胞像被轰炸过一样。
手慢慢地离开键盘,心里很压抑。不禁默默祈祷:一切都会进展顺利的,对吧?至少有些地方我的回答应该是没有遗漏的,是不是?
难道我选择编程真的是一个巨大的错误吗——我真的永远也成不了程序员吗?
我需要一点点安慰。在自我怀疑,不安全感和脆弱等等像龙卷风一
马皇后的贤德
nannan408
马皇后不怕朱元璋的坏脾气,并敢理直气壮地吹耳边风。众所周知,朱元璋不喜欢女人干政,他认为“后妃虽母仪天下,然不可使干政事”,因为“宠之太过,则骄恣犯分,上下失序”,因此还特地命人纂述《女诫》,以示警诫。但马皇后是个例外。
有一次,马皇后问朱元璋道:“如今天下老百姓安居乐业了吗?”朱元璋不高兴地回答:“这不是你应该问的。”马皇后振振有词地回敬道:“陛下是天下之父,
选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)
Rainbow702
sql group by 最大值 max 最大的那条记录
好久好久不写SQL了,技能退化严重啊!!!
直入主题:
比如我有一张表,file_info,
它有两个属性(但实际不只,我这里只是作说明用):
file_code, file_version
同一个code可能对应多个version
现在,我想针对每一个code,取得它相关的记录中,version 值 最大的那条记录,
SQL如下:
select
*
VBScript脚本语言
tntxia
VBScript
VBScript 是基于VB的脚本语言。主要用于Asp和Excel的编程。
VB家族语言简介
Visual Basic 6.0
源于BASIC语言。
由微软公司开发的包含协助开发环境的事
java中枚举类型的使用
xiao1zhao2
java enum 枚举 1.5新特性
枚举类型是j2se在1.5引入的新的类型,通过关键字enum来定义,常用来存储一些常量.
1.定义一个简单的枚举类型
public enum Sex {
MAN,
WOMAN
}
枚举类型本质是类,编译此段代码会生成.class文件.通过Sex.MAN来访问Sex中的成员,其返回值是Sex类型.
2.常用方法
静态的values()方