本月博客排行
-
第1名
wy_19921005 -
第2名
mft8899 -
第3名
java-007 - benladeng5225
- Anmin
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
benladeng5225 - wy_19921005
- vipbooks
- kaizi1992
- 青否云后端云
- e_e
- tanling8334
- sam123456gz
- arpenker
- zysnba
- fantaxy025025
- xiangjie88
- wallimn
- lemonhandsome
- ganxueyun
- jh108020
- Xeden
- xyuma
- zhanjia
- wangchen.ily
- johnsmith9th
- zxq_2017
- forestqqqq
- jbosscn
- daizj
- xpenxpen
- 喧嚣求静
- kingwell.leng
- lchb139128
- kristy_yy
- jveqi
- javashop
- lzyfn123
- sunj
- yeluowuhen
- ajinn
- lerf
- silverend
- chenqisdfx
- xiaoxinye
- flashsing123
- bosschen
- lyndon.lin
- zhangjijun
- sunnylocus
- lyj86
- paulwong
- sgqt
最新文章列表
CommonTemplate与JSP的互操作方案
昨天和huangyh讨论了CommonTemplate(http://www.commontemplate.org)与JSP的互操作方案,
他觉得如果能在CommonTemplate中直接调用JSP,可以解决遗留系统的集成问题,
如:
在CommonTemplate中:
$jsp
直接写JSP代码,如:<c:if test="${aaa}">xxx</c:if ...
CommonTemplate发布0.7.1版本
项目地址:
http://www.commontemplate.org
主要完成了配置管理,
改回基于jdk1.4,
API将部分接口改成抽象类,
修改了一些bug,
加入或修改了inline, log, escape, overzone等指令,
加入了操作符~和!~表示正则表匹配,
将格式化操作符改成#
见leadyu
昨天下班后与leadyu见了下面,
首先感谢他美味的晚餐^_^
leadyu对JVM的研究比较多,从他的开源项目Jwebap就可以看得出,
真的很高兴认识这样一位朋友,希望以后可以多交流,共同探讨一些问题,
临走时,和leadyu谈到JDK1.4兼容问题,他坚持基于1.4版发布,
因为现在用1.4的服务器还是比较多的,而retrotranslator等向前编译工具也有很多问题,
除非用JDK1.5 ...
CommonTemplate与Struts2集成
现在用Struts2的人开始多起来,为CommonTemplate(http://www.commontemplate.org/)加了一个与Struts2的集成方案,
Struts2(http://struts.apache.org/2.x/)与Webwork一样,提供了模板输出hook,
所以集成是比较简单的,只需实现StrutsResultSupport的doExecute就行了。
下面是暂时 ...
CommonTemplate配置方案确定
根据前几天的思考:http://javatar.iteye.com/blog/139420
CommonTemplate(http://www.commontemplate.org)的配置方案确定,
采用全setter方式配置,以保持可以用任意IoC容器进行配置,
但为了不依赖于任何IoC容器使用组件,
在util包中实现了一个简单的BeanFactory,作为默认IoC容器实现:
org.comm ...
velocity邮件列表中,问得频率比较高的几个问题
1. 没想到最高的是:特殊符怎么转义? velocity没有使用大家惯用的反斜杠,大部分人在尝试\#或\$或\"失败后很疑惑,有人想出的“绝妙”办法是:#set($D='$'),然后 ${D}
2. 性能,Velocity1.5比1.4内存消耗更大,在单例使用VelocityEngine时经常出现OutOfMemoryError
3. 模板加载路径,热加载
4. 多数组取值
5. 格式化处 ...
[转摘] lambda表达式
准备在CommonTemplate(http://commontemplate.org)中实现简单的lambda表达式,转摘一篇介绍性的文章。
先来看一下lambda表达式的基本语法(BNF):
<expr> ::= <ide ...
CommonTemplate近期计划
将宏指令的+,-前缀泛化为指令名第一个字符可以为符号,
不同类型对比时,自动转换类型,
写JspTag的适配器,使已有的JspTag实现可以自动转为指令实现(重点任务),
多配置方案实现,包括properties,xml,spring-bean三种配置方式(重点任务),
Lambda表达式支持(方案考虑中)
异常的位置不准确,检查状态机的Token返回值(BUG),
站点加一个:集成指南,
1.4兼 ...
CommonTemplate的API结构再思考
DirectiveList是否应该实现List接口?
Expression是否应传入VariableLookuper而非Context?
Directive,Expression是否应抽取公共接口TemplateElement?
Constant, Variable是否应放入core包?
Template,Directive,Expression等接口是否应继承序列化接口,还是应在其具体类中加入?
...
哪些接口改为抽象类
CommonTemplate(http://commontemplate.org)开始是以接口驱动设计的,
core(API)包和config(SPI)包全部为接口,
准备发布正式版,保持API等向前兼容,为了项目的可维护性,需要将一些接口改成抽象类,
抽象类比接口的最大优势是能够在后续版本添加方法,并保持向前兼容(提供一个默认实现或空实现或抛出不支持异常都可以)。
就这一点,很明显,Context ...
CommonTemplate改造完成
周未将原MeteorTL彻底改成CommonTemplate了,
主要是包名的改动,网页内容的改动等。
另外改为基于jdk5.0以上,便于使用一些新特性优化引擎。
现在大部分开源项目都开始向5.0转移,而通过一些向前兼容编译工具(如:retrotranslator)处理旧版本问题,
CommonTemplate也将使用这种策略。
升到5.0暂只改进了:
将集合相关类加入泛型,
将不必要的强制转型 ...
Java的模板引擎Velocity
不少人看过或了解过Velocity,名称字面翻译为:速度、速率、迅速,用在Web开发里,用过的人可能不多,大都基本知道和在使用Struts,到底Velocity和Struts是如何联系,怎么看待Velocity呢?让我们来尝试一下,了解Velocity的概念,通过在这里的介绍,强调在技术选择上的问题,让大家在选择项目开发时,可以考虑Velocity,另外也让大家了解它的思想,毕竟它提供了一个很好的思 ...
MeteorTL改名为CommonTemplate
由于在网上搜到其它同名项目,并且注册时间比我们还早,
和小组成员讨论后,决定更换名称为:CommonTemplate
网站域名改为:
http://commontemplate.org
Common用于说明模板可在多种运行时中运行。
出现同名的项目是:
http://wiki.woodpecker.org.cn/moin/Meteor
是一个Python模板项目,作者是limodou