`
esteem
  • 浏览: 156175 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
相信这个问题是很多使用Velocity的朋友所经常碰到的,大家可能非常期望下面这样的代码能够运行:     #if($foo == null)        ...    #end 实际上这段代码会报错。这是因为Velocity中对null的支持比较特别。总统上说,判断是否为null有下面几种方法: 1. #if (! $foo) 判断$foo为空,判断非空为 #if ($foo) 2. 使用 #ifnull() 或 #ifnotnull()     #ifnull ($foo)     要使用这个特性必须在velocity.properties文件中加入: userdirective = o ...
想来想去还是把hessian的应用放到SOA栏目中来吧 hessian实现了远程调用,不需要学习WEB service的一些规范就可以直接上手, 它一个轻量级的Java远程访问的解决方案。Hessian很像WebService,只不过它不使用SOAP协议,而是使用它自己的binary协议 使用它只需要3个关键的类 1、stub(存根) 也就是服务器端和客户端的公共接口 2、服务器端对该接口的实现类serviceimpl 3、服务器端的sevlet ,hessian帮我们实习了个HessianServlet,当然我们可以直接让我们的serviceimpl继承HessianServlet 下面举例, ...
Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//Calendar对象默认一月为0            int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 使用到日历类  
面试的时候碰到个问题 TRUNCATE 和 delete的区别? 当时真感觉是晕忽忽的 从来没有听说过TRUNCATE。 现在百度才知道: TRUNCATE和DELETE有以下几点区别 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。 2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。 3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表 ...
CGlib是什么? CGlib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。 当然这些实际的功能是asm所提供的,asm又是什么?Java字节码操控框架,具体是什么大家可以上网查一查,毕竟我们这里所要讨论的是cglib, cglib就是封装了asm,简化了asm的操作,实现了在运行期动态生成新的class。 可能大家还感觉不到它的强大,现在就告诉你。 实际上CGlib为spring aop提供了底层的一种实现;为hibernate使用cglib动态生成VO/PO (接口层对象)。 下面我们将通过一个具体的事例来看一下CGlib体验一下CGlib。 ...
最近接触JS比较多  mark个event的用法 阿里妈妈的有个页面 采用的ajax实现的 其中使用到event 我们可以通过自定义的属性 来达到一些功能 例如下面的a 标签中的 siteid 就是自定义的标签 <html><script type="text/javascript"> function test(event){   alert(event)   var ev=!event?window.event:event;   alert(ev);   alert(ev.srcElement.sitename)  }</script> ...
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A collection ...
一、基本语法 1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;如:#if($info.imgs)<img src="$info.imgs" border=0>#else<img src="noPhoto.jpg">#end2、"$"用来标识一个对象(或理解为变量);如如:$i、$msg、$TagUtil.options(...)等。3、"{}"用来明确 ...
Velocity是什么?Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。Velocity的能力远不止web站点开 ...
BigDecimal 舍入模式(Rounding mode)介绍: 在 java中, 四舍五入通过 BigDecimal 来实现。一定要注意:BigDecimal is Immutable。也就是跟String一样,对前一个的修改,比如setScale(), add()等都会返回一个新的BigDecimal.四舍五入舍入模式是 BigDecimal.ROUND_HALF_UP  BigDecimal定义了一下舍入模式,只有在作除法运算或四舍五入时才用到舍入模式,下面简单介绍,详细请查阅J2se API文档 static int ROUND_CEILING           Rou ...
实现方案 现在我们已经知道怎么解决这个问题了,原则上是使用BigDecimal(String)构造器,我们建议,在商业应用开发中,涉及金额等浮点数计算的数据,全部定义为String,数据库中可定义为字符型字段,在需要使用这些数据进行运算的时候,使用BigDecimal(String)构造BigDecimal对象进行运算,保证数据的精确计算。同时避免了科学记数法的出现。如果科学记数表示法在应用中不是一种负担的话,可以考虑定义为浮点类型。 这里我们提供了一个工具类,定义浮点数的加、减、乘、除和四舍五入等运算方法。以供参考。 源文件MathExtend.java: import java. ...
问题提出 (1)、浮点数精确计算 胜利油田三流合一项目中一直存在一个问题,就是每次报表统计的物资金额和实际的金额要差那么几分钱,和实际金额不一致,让客户觉得总是不那么舒服,原因是因为我们使用java的浮点类型double来定义物资金额,并且在报表统计中我们经常要进行一些运算,但Java中浮点数(double、float)的计算是非精确计算,请看下面一个例子:     System.out.println(0.05 + 0.01);     System.out.println(1.0 - 0.42);
一个非常简单的可自定义的工具提示效果,只有一个可选参数为延迟出现的时间,默认为无延迟。 /****************************** * * Name: toolTips * Author: Aken li * Date: 2008.07.10 * Blog: www.kxbd.com * ******************************/ var toolTips = Class.create(); toolTips.prototype = {     initialize:function(delayDur){         this.wrappe ...

JS : onselectstart

最近的工作中,接触JS的比较多,碰到个文本框不能拖动选择的问题 发现原来是增加了一个函数 document.onselectstart = function(event) {return false}; 那么页面上的所有的选择事件将失效。 譬如我们可以指定哪些是不能选定的 document.onselectstart= function(event){return test()}; function test(){ var the = event.srcElement ; if( !( ( the.tagName== "INPUT" && the.typ ...

css盒子模型

今天无意中被人问到css盒子模型的问题,说实话,做了那么多div+css,写了那么多代码,这个还真没仔细研究一下,主要是我一直只是研究css代码的写法,对这个理论问题还真没注意,在网上搜了一下,原来很简单,用这个图就很简单的说明了这个问题: 内容(content)、填充(padding)、边框(border)、边界(margin), 这就是一个完整的css盒子了。其实写css最多的时候要精于计算,少了一个px也可能导致网页变形,因为必须保证每个盒子的高宽统一,理解了盒子,你写css也能得心应手了:)
Global site tag (gtag.js) - Google Analytics