- 博客(58)
- 收藏
- 关注
原创 笔记:vb.net的datagridview绑定对象作为数据源
绑定用datagridview的DataSource指向该对象就可以了,但需要注意datagridview对应列的DataPropertyName要和对象的属性名对应上。
2013-05-21 09:10:41
1386
原创 笔记:不依赖Office组件的Excel文件的读取
Microsoft.Office.Interop.Excel.dll是个接口,.NET和Office组件间的接口。所以在没有安装Office的环境中,用Microsoft.Office.Interop.Excel.dll来操作Excel的代码是运行不了的。不依赖Office组件的Excel操作lib有很多,但据说最靠谱的是NPOI。openXml是针对Office2007及之后的版本的
2013-05-10 11:05:44
1784
原创 换行符在Linux和Windows下的区别
一、区别换行符:1.windows中的换行符是\r\n,2. linux/unix下的换行符是\n。其中:回车符:\r=0x0d (13) return; #回车(carriage return) 换行符:\n=0x0a (10) newline。#换行(newline) 二、文件格式互转命令1.unix2dos:将具有unix风格的格式文件转化为具有wind...
2013-03-08 14:32:22
140
原创 换行符在Linux和Windows下的区别
0) newline。#换行(newline) 二、文件格式互转命令1.unix2dos:将具有unix风格的格式文件转化为具有window下的格式文件。2.dos2unix:将具有windows风格的格式文件转化为unix下的格式文件。 两个命令的具体用法参见man手册。 windows的换行符是\r\n Linux采用的是\n可以采用unix2dos或dos2unix转换文本文件 三、回车换行符的历史背景 早期的计算机输出设备不是显示器,而是电传打字机,结
2013-03-08 14:32:22
491
原创 词汇笔记
かい‐そう【回想】[名](スル)かつて経験したことを思いめぐらすこと。過去のことをふりかえって思いおこすこと。「少年の日を―する」 あそぶ【遊ぶ】くら・す【暮(ら)す】[動サ五(四)]1 日が暮れるまで時間を過ごす。時を過ごす。「一日を読書で―・す」2 日々を送る。月日を過ごす。「余生は郷里で―・したい」3 生活する。また、生計を立てる。「少ない収入でな...
2010-09-14 11:39:06
136
原创 词汇笔记
あそぶ【遊ぶ】くら・す【暮(ら)す】[動サ五(四)]1 日が暮れるまで時間を過ごす。時を過ごす。「一日を読書で―・す」2 日々を送る。月日を過ごす。「余生は郷里で―・したい」3 生活する。また、生計を立てる。「少ない収入でなんとか―・している」4 (他の動詞の連用形に付いて)一日中その事をし続ける意を表す。「遊び―・す」「泣き―・す」 おお‐ごえ【大声】こ‐ごえ【小声】に‐ど【二度】2回。ふたたび。「―は言わない」 およぐ【泳ぐ】
2010-09-14 11:39:06
109
原创 列表中显示富文本的缩略内容
业务中有一个一览列表,显示某个对象的一览信息。列表的其中一列用来显示对象的内容的缩略显示,该内容是含有各种html标签的富文本内容。开始决定不做处理直接显示,但看到一个一个的尖括号实在没法忍受,查找了一番,做了如下处理。 把实际内容放到一个隐藏的div中, <div id="rtfContent${stat.index}" class="none">${Content}...
2010-08-10 15:06:20
1011
原创 GET提交的长度限制
业务中有个编辑页面,其中有链接弹出个子页面,同时保存一些信息到session,在子页面关闭时从session里把保存值取回来。测试时发现在ie7下取不到保存值,开始以为是网上所说的window.open导致sessionID不同而引起的,但想想又不对,因为用户的登录信息可以取到。而后又发现只在特定的业务ID下才有此bug,心说难道此业务ID的session key和某个共通重复了?不太可能啊。正茫...
2010-07-02 13:04:44
191
原创 GET提交的长度限制
值,开始以为是网上所说的window.open导致sessionID不同而引起的,但想想又不对,因为用户的登录信息可以取到。而后又发现只在特定的业务ID下才有此bug,心说难道此业务ID的session key和某个共通重复了?不太可能啊。正茫茫然时,同事一语点醒梦中人,原来是保存值时的提交用了GET,那个特定业务ID下的信息量比较大,大概4K左右,ie7下GET请求所允许的长度据说是2k。ie8下没出此bug的原因,有可能是这个长度限制给增加了,但看官方说明似乎还是2k,那么也可能是对超出长度的请求的处理
2010-07-02 13:04:44
100
原创 CMP
Container-Managed Persistent(容器管理的持久性),EJB中由容器负责entity beans的持久性管理的方法,即容器负责将entity beans的更新同步(保存)到数据库。...
2010-06-23 10:42:26
120
原创 开源java应用服务器的比较
在开源Java应用服务器领域,像JBoss、Tomcat及Apache的Geronimo,他们不仅仅是商业领域的领跑者,同时是技术领域的先行者。当然,所有的Java EE应用服务器的实现不尽相同,但其很多方面具有一定程度的可比性。本文对JBoss4.2、Geronimo 2及Tomcat 6三种开源的Java EE应用服务器,就他们的特性、部署及性能等方面进行一一比较。一、前言当企业级的J...
2010-06-23 10:39:38
224
原创 动态语言,静态语言,强类型弱类型
对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。“动”或“静”,强调的是实施类型的时间,编译里就要确定类型的是静态类型,比如C/C++/JAVA/C#,运行时才实施类型的则是动态类型,比如VB/Python。 而“强”或“弱”刚强调实施类型的强度,强类型的语言,...
2010-06-23 10:16:26
113
原创 bean工厂
bean工厂的设计目的是把bean的接口和实现分离开,以达到不修改代码就可以实现可扩展可移植。spring的bean配置就是这种模式的一个典型。
2010-06-23 09:51:32
150
原创 为什么建立数据库连接消耗资源较多
开发人员经常认为建立一个数据库是一个简单的要求,不就是在数据库服务器和初始化用户之间的一个网络往返吗,但实际上,一个数据库连接在驱动和数据库服务器之间有多次网络往返,例如,当某个驱动连接到Oracle或Sybase时,这个连接会有7到10和网络往返,执行了一系列的动作:◆校验用户的身份证书◆在数据库驱动期望的代码页设置和数据库可用的代码页设置之间进行协商(如果必要的话)◆获取数据库版本...
2010-06-11 16:53:15
545
原创 刷新父页面
window.opener.location.reload()的问题是,如果父页面有提交操作,指向了其他action后,这个代码会导致重新执行这个action并出现提示信息。比如我执行了更新操作,那么url就指向了updateAction,这个时候reload就会指向这个action,而不是initAction。 比较稳妥的做法是用window.opener.location.href...
2010-06-11 16:43:01
95
原创 数据库连接池的基本原理
传统的数据库连接方式(指通过DriverManager和基本实现DataSource进行连接)中,一个数据库连接对象均对应一个物理数据库连接,数据库连接的建立以及关闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中这种耗费资源的动作对系统的性能影响尤为明显。 在多层结构的应用程序中通过连接池(connection pooling)技术可以使系统的性能明显得到提到,连接池意味着当应用程序需...
2010-06-11 14:14:46
91
原创 数据库连接池的基本原理
闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中这种耗费资源的动作对系统的性能影响尤为明显。 在多层结构的应用程序中通过连接池(connection pooling)技术可以使系统的性能明显得到提到,连接池意味着当应用程序需要调用一个数据库连接的时,数据库相关的接口通过返回一个通过重用数据库连接来代替重新创建一个数据库连接。通过这种方式,应用程序可以减少对数据库连接操作,尤其在多层环境中多个客户端可以通过共享少量的物理数据库连接来满足系统需求。通过连接池技术Java应用程序不仅可以提高系统性能同
2010-06-11 14:14:46
98
原创 MySQL视图相关
SELECT语句不能包含FROM子句中的子查询。混合了简单列引用和导出列的视图是不可插入的,但是,如果仅更新非导出列,视图是可更新的。
2010-05-07 09:31:58
90
关于struts2的chain
当action的返回结果类型为chain时,chain拦截器就会发生作用,把当前action和目标action都压入值栈。那么如果目标action的返回结果依然是chain呢?当然也把目标action的目标也压入值栈。亦即是说, <action name="a" class="A"> <result name="success" type="chain"...
2010-04-13 08:58:51
141
关于struts2的chain
目标action的目标也压入值栈。亦即是说, <action name="a" class="A"> <result name="success" type="chain"> <param name="actionName">b</param> &a
2010-04-13 08:58:51
97
ckeditor在struts2下添加自定义按钮
ckeditor的插入图片和flash和我的需求相去甚远,所以我想做个按钮调用自己的插入图片页面。相关js代码如下: function initEditor(theName, theWidth, theHeight){ var editor = CKEDITOR.replace(theName, { language : 'zh-cn', skin : 'office2...
2010-04-05 10:30:36
124
ckeditor在struts2下添加自定义按钮
){ var editor = CKEDITOR.replace(theName, { language : 'zh-cn', skin : 'office2003', startupFocus : true, removePlugins : 'elementspath', width : theWidth, height : theHeight, //resize_enabled : false, resize_maxHeight : 600, r
2010-04-05 10:30:36
67
java自动装箱后的值比较
Integer类在自动装箱后,用==来做比较时,并不总是像其他类一样比较对象地址,数值较小时,它比较的是对象值。当数值超过某个临界点时,它才会比较地址。这个临界点是127和-128。假设有如下代码: Integer i1 = 127; Integer i2 = 127; if (i1 == i2) System.out.println("i1 == i2")...
2010-04-04 21:16:02
108
java自动装箱后的值比较
较地址。这个临界点是127和-128。假设有如下代码: Integer i1 = 127; Integer i2 = 127; if (i1 == i2) System.out.println("i1 == i2"); else System.out.println("i1 != i2"); 那么输出结果是i1 == i2,比较的是对象值。如果: Integer i1 = 128;
2010-04-04 21:16:02
84
ckeditor自定义插件之二
如果每一个自定义插件都要以json的方式来写页面显然不爽,怎么弹出我自己的页面呢?下面是个简单的示例,可以弹出自己的页面,没细写。 editor.addCommand( pluginName, {exec:function (e){window.open('/dialogs/mydialog.html');}} ); editor.ui.addButton(...
2010-04-03 13:47:58
140
ckeditor自定义插件之二
r.addCommand( pluginName, {exec:function (e){window.open('/dialogs/mydialog.html');}} ); editor.ui.addButton('MyButton', { label : editor.lang.mine, command : pluginName }); 在那个函数里可以做很多
2010-04-03 13:47:58
99
ckeditor自定义插件流程
搞了一上午,最后发现原因原来出在某路径少打一个“/”,真是害人不浅。 本次只是熟悉一下写ckeditor插件的流程,所以用的是samples里api_dialog.js的代码作为弹出窗口。 首先第一步,在ckeditor/plugins目录下新建文件夹作为插件目录,我新建了一个myplugin文件夹。 然后在myplugin文件夹下新建两个东西,一个是plugin.js文件...
2010-04-03 12:34:30
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人