- 博客(35)
- 收藏
- 关注
原创 avalon学习笔记之拦截器与过滤器的区别
1.拦截器:当我们修改界面值后,VM中的模型需要自动更新值,如果模型中的值是数字或布尔等类型,那么界面中的值(界面的值都是字符串类型)需要进行类型转换后才能变成数字或布尔类型,那么这个类型转换的事由谁去处理呢?由拦截器处理。2.过滤器:当我们修改VM中的模型的值后,在值显示在界面前,我们我们需要将值变成我们知道的值,那么这个值就需要进行一次显示前的处理,这个处理的过程我们称之为过滤,这个处...
2016-02-13 23:10:30
223
原创 之前做的公开项目问题总结
之前做的公开项目的后台管理系统,我们使用的达梦数据库的sql语句执行错误,出现非法日期的异常。使用排除法,确定了是哪个字段出现异常,但是不知道是这个字段的哪几条出现数据有非法字段,解决方案:数据库中的非法字符用isdate来判断是否是非法字符,isdate(datestr),datestr如果是非法字符,那么isdate返回值为0,比如:update XXXK_WEB.xxx_goods...
2015-12-31 09:34:40
143
原创 java实现excel的导入与导出
1.java实现excel导入导出的几种方式 1.1使用POI APache 软件基金会提供的开源库。 HSSF: 提供对对2003及其以前的excel版本的读写功能 XSSF:提供2007及其以上版本的读写功能。 HWPF:提供对word格式档案的读写功能 HSLF:提供...
2015-12-13 11:44:55
156
原创 了解javascript中的prototype与 __proto__
我们先来看一个函数。function person() { }这个函数我们使用chrome观察其运行情况,可以看到Person有两个属性,一个是prototype,一个是__proto__。其中prototype是每个函数(只有函数才有这个属性)的属性。而__proto__是js对象的属性,即只要是js对象,都有这个属性。比如var arr = [],var obj =...
2015-03-03 23:52:39
106
原创 bind可以改变函数执行的上下文
javascript有改变函数上下文的能力:原生的实现方式是使用call和apply方法。在IE9及其以上版本中,新增一个可以改变函数上下午的方法叫bind(IE9以下版本需要用户实现):示例如下: var foo = {name: 'foobar'}function f() {alert(this.name);}f();//弹出是window...
2015-03-02 11:50:22
405
原创 如何让图标与文字居中对齐显示,并去掉图标的边框?
在编写页面的过程中,会碰到这样一个现象:文字也图标没有居中对齐,同时,图标也会出现边框?对于这两个问题,我们先看图标与文字的居中对齐问题,我们可以使用css中vertical-align属性,它的含义是设置元素的垂直对齐方式。这里,我们使用居中垂直对齐:verical-align:middle;此实现方式符合w3c标准;注意:align="absmiddle"也...
2014-06-19 11:09:31
436
原创 ol2.x浮云框类使用不当会导致的bug
1.在地图网站中查询出矢量要素结果列表,点击结果列表中的一项,结果IE提示this.size.w错误(如果正常的话,应该弹出一个浮云框),这个问题出现的原因是用户传递给浮云框的长度为0,比如说传递了一个""串,此时this.size的值就为空了。说明:ol2.x中浮云框内容的长度是不能为空的,否则会报错...
2013-04-26 10:38:26
94
openlayers2.11在IE10中错位的原因分析
最近有用户反映在IE10下运行openlayers2.11版的地图网站会出现瓦片错位的现象(具体现象是瓦片上下错位,左右不错位) 经过本人一番辛苦的调试,发现问题出现在Gird.js文件中的initGriddedTiles方法中的do while循环中。如附件中所示。 initGriddedTiles方法中有一个嵌套的do while循环(do whi...
2013-01-18 23:11:09
187
原创 js恶心的逻辑
例子一: var o={flag:0}; var test=o.flag||false; alert(test); 这个例子他不弹出0,居然弹出flase。例子二: var o={flag:1}; var test=o.flag||false; alert(test);这个例子是弹出1例子三:alert("" == false);js会自动进行类型转换。弹出true ...
2011-11-23 12:15:58
212
原创 SDK API维护与开发总结
1.在封装API的过程中,必须要分清楚哪些功能是属于API级别的,哪些功能是属于工程级别的,比如说:标绘操作,其核心就是标点标线标面,至于标绘前的提示操作,那是工程应用的需要。不宜纳入API封装。2.对于修改的底层API类,必须要把修改的原因,在什么地方,修改什么内容等说清楚,就是修改的来龙去脉说清楚。3.API中没有使用标准注释或没有使用下划线的属性会被当做私有属性处理。待续......
2011-11-09 11:06:29
500
原创 Openlayers 类打补丁的方法
在一个SDK框架写完后,突然发现,有些类的方法判断不够全面。若此时在现有的框架中增加这些判断,在一定程度上可能会打乱框架的逻辑,于是采用打补丁的方式,就不用修改框架本身。打补丁常常是通过覆盖框架中的方法予以实现。比如:Geo.View3D.Layer.Vector.prototype.drawFeature = function(feature) { ... }以上的方法就是在...
2011-11-04 16:45:53
106
原创 属性查询如何实现范围查询
1.属性查询中范围与空间查询范围的区别? 属性查询中的范围是属于普通索引,几何查询中的范围查询属于空间索引(索引方式有三种:全文索引,普通索引,空间索引)2.属性查询中的范围的filter的书写方式是var lon = new Geo.Filter.Comparison({ type: OpenLayers.Filter.Comparison.BETWEEN,/...
2011-10-14 16:52:03
242
原创 出差报告填写注意点
1.bug反馈:bug反馈需要按照提bug的步骤来2.需求反馈:功能或服务或文档上的问题,即是需求反馈3.反馈信息:功能或服务或文档上的以上三点要求其他开发人员或项目经理一看就大体明白...
2011-10-13 11:42:40
317
原创 工作汇报填写模板
汇报内容包括: 1.工作成果[包含哪些功能点] 2.成果达到的效果(1.哪些功能能正常运行等) 3.心得体会和收获(产生的感想和成长等) 4.工作中出现的问题(1.自身原因2.产品的原因3.客户的原因等) ...
2011-10-12 11:31:40
270
原创 openlayers地图要素或图层定位
openlayes中的地图使用zoomToExtent 进行定位,参数bounds是要素或图层的范围,要素可以通过feature.geometry.getBounds()得到范围,图层可以通过layer.getDataExtent();得到范围,得到范围后就可以进行定位了...
2011-09-25 21:02:06
2412
原创 javascript 实现AOP
你相信么,在JavaScript只需一个函数5行代码即可实现完整的面向方面AOP编程功能。这5行代码的功能包括:1、无限层次的函数无害拦截2、函数执行前拦截3、检查函数的参数值4、重新设定函数的参数值5、函数执行后拦截6、检查函数执行后的返回结果7、重新设定函数的返回结果虽然动态函数式语言的效率是一个存在的问题,但是对于它的高度灵活性,简直让人令人惊叹不已,剧赞。这个小小的函数源自于和...
2011-09-25 12:44:53
125
原创 onclick事件在脚本中与在html中的区别
onclick在html中的写法:<a onClick="Geo.Map.ThematicMap.thematicMapeQuery()"></a>在脚本中的写法:document.getElementById("ids").onclick = function(){} 推荐使用后一种,如果使用前一种,当用户先加载页面后加载js文件的时候,由于页面显示,js文件...
2011-09-24 15:57:06
377
GIS Web前端设计规则
1.程序员在设计一套前端功能的时候,先不考虑样式!等先把交互功能实现后再讲样式加上去2.页面先初始化,初始化完页面后再为页面表单元素绑定事件,每个模块的事件在各自的init方法中绑定,3.程序在初始化的过程中,应该按照优先级,基础的模块先初始化,被依赖的模块先初始化,比如说,配置文件先初始化,然后再初始化UI模块,Ui模块初始化后,再初始化地图对象模块,并且注释后面的模块不会影响前面的模块...
2011-09-22 22:24:31
556
原创 创建闭包的一种有趣的写法
1.var Class2 = function() { var o = {}; o.a = 1; return o;}var t = Class2(); 2.window.Module = {}; var Num = (function() { var module = window.Module; var a = 1; modu...
2011-06-07 18:21:00
75
原创 css block笔记
1.标签是分成 区块 和 内联块 2种2.一个标签显示一行的称为 区块,如(段落P,标题H系列,DIV等)(你没见过在2个P标签放在一行能显示的情况吧)?3.若标签能在一行显示N个,表明此标签为 内联块,如(<a>,<img>,<input>)4.区块和内联块最大的区别就是,区块可以设置宽、高、居中对齐等操作,而内联块不行也就是说,当你需要将一张图片居中,或者要...
2011-04-25 11:13:14
101
原创 css 基础
1.应该只在没有现有元素能够实现分割得到情况下使用div元素,单有时为了以希望的方式显示页面,无法避免添加额外的无意义的div或span2.div元素可以用来对块级元素进行分组,而span可以用来对行内元素进行分组或标示!...
2011-03-27 16:15:14
64
原创 jquery事件的传播与阻断
在一个div中触发一个事件的时候,包含该div的外层div也会被传播该事件,如果想阻止该div的外层的div的事件的传播,可以使用事件阻断功能
2011-03-24 11:46:31
206
原创 关于业务逻辑与Ui
前期由于没有尽可能的将UI和界面的业务逻辑分割开来,现在要换界面的,哎!因为之前Ui与界面有耦合,业务逻辑的代码要修改了,记此教训!
2011-03-09 09:54:20
279
原创 ajax特性
1.优秀的框架应该是让人集中注意到业务逻辑上而不是技术特性,jquery比prototype优秀,最典型的例子就是,如果要鼠标点击触发函数,prototype搞个大而全的observe方法,然后去注册click事件,而jquery就有item.click函数。。。observe是能包容万象,不过jquery这种为最常用的事件,特地创建专有函数的做法,更能让人集中注意力到业务逻辑上。。。...
2011-03-03 11:34:24
152
原创 不需部署项目就可在tomcat中运行
1.一个web项目,如果不想在myeclipse下部署就能在tomcat中运行,可以这样配置:1.1在tomcat的\apache-tomcat-6.0.20\conf\Catalina\localhost目录下建立一个xml文件,文件的名称是你访问服务时的名称eg:sdk2.xml,里面内容的格式:<?xml version="1.0" encoding="UTF-8"?><C...
2011-03-01 13:05:51
276
原创 在项目中使用extjs需要注意的地方
1. 在Javascript中,如果一个对象不再被引用,那么这个对象就会被GC回收。如果两个对象互相引用,而不再被第3者所引用,那么这两个互相引用的对象也会被回收。...
2011-02-16 11:17:36
117
原创 openlayers基础笔记
1.openlayers是一种面向对象的js框架,其源码学习意义大于使用意义2.openlayers中关于图层,地图中必须要有且只有一个基础图层,对服务地址而言3.在地图信息服务系统中,用户要访问服务的话,其IP需要授予权限才能访问服务4.要通过feature的id可以通过vector对象中的getFeaturebyId方法得到。feature是存放在vector中的5.openl...
2011-01-28 09:14:12
111
原创 关于获取组件值的方式
在extjs 编程中,必不可以少的是获取组件的值,常见的一种方式是通过id获得,eg:combo.getCmp("id").getValue()这样坐有一个缺点就是项目大了之后,很多主键都设置id有可能出现重复的,这里我们可以在每个ui模块设置一个唯一的id,通过这个id+组件id等组合来达到减少组件id重复的目的,extjs中用Ext.id( [Mixed el], [String pref...
2011-01-26 12:27:30
479
原创 new与结构的区别
例子: 对比 Ui.resultPanel = new Ext.Panel({ xtype : 'panel', region : 'south', header : false, ...
2011-01-07 17:12:31
105
原创 js设计功能原则
1.项目中的非公用的功能模块,默认不用加载,等到用的时候才加载,使用init方法控制各个模块的加载顺序; 2.关于匿名内部类,它里面的局部变量,对内部是一直存在的,不会消失 eg:(function() { var a = 1 ; } )(); 此变量即使该方法执行完了,如果在内部引用全局变量,仍然可以访问它 如: Ext.namespce("Geo.map.a");...
2011-01-07 11:27:13
114
原创 关于回调
一.回调是异步的一种表现形式二.什么时候使用回调? 答:1.请求服务器的时候使用回调。 2.创建查询窗口的时候 例如:某一需求:点击“属性查询”,弹出查询界面,输入查询条件,点击提交;根据查询条件请求服务;成功获得请求信息,失败提示。 分析:当点击属性查询的时候创建窗口,同时传入回调参数,用于在点击提交的时候执行...
2011-01-06 18:20:22
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人