本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- zysnba
- xiangjie88
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sichunli_030
- sam123456gz
- 龙儿筝
- arpenker
- tanling8334
- kaizi1992
- gaojingsong
- xpenxpen
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- lemonhandsome
- luxurioust
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- kingwell.leng
- mwhgJava
- lich0079
最新文章列表
修复Getter取值BUG
http://www.commontemplate.org
BUG: 在获取特殊Class(内部类)的属性时可能抛出异常, 将在下一版本(0.8.2)更新修复此bug.
重构前程序:
public class ClassUtils {
/**
* 获取对象的属性值
*
* @param object 对象实例
* @param property 属性名
* ...
CommonTemplate0.8.1 版本发布
项目地址:
http://www.commontemplate.org
增加JspTagLib适配器支持, 可以在CTL直接使用Jsp标签库。
增加对struts2(ui)标签库的配置, 参见下载列表中commontemplate-example.zip内的ct_struts2.war。
增加对SpringMVC的集成支持,参见下载列表中commontemplate-example.zip内的ct ...
CT重构-充实模板域模型
在CommonTemplate(http://www.commontemplate.org)的模板域模型中, 包含两个解析树结构:
一、指令树:
Directive (指令, 接口)
Text (文本块,内置)
Comment (注 ...
初步完成JspTaglib适配
CommonTemplate(http://www.commontemplate.org)已初步完成PageContext, BodyContent, JspFragment, JspWriter 等的适配实现,以及Tag, IterationTag, BodyTag, SampleTag 等的适配回调。
(题外话:JspTagLib的接口不太友好,简单的树遍历做了很多绕弯的接口协议)
tld的引 ...
给国人的CTE的一些建议
非常好的项目,首先他是中国人开发的,太棒了!
http://www.commontemplate.org/zh/index.html
自家人提点意见和建议
1. 不可以函数调用
禁止函数调用,避免在模板中引入业务逻辑。(允许配置开启非void函数调用)
看了这条,我便不打算使用CTL
因为我每天都在使用freemarker,freemarker中不能调用static 函数的问题,让人很气愤。CTL ...
CommonTemplate0.8.0发布
在元旦之夜发布了0.8.0
http://www.commontemplate.org
增加了与struts及struts2的集成sample, (见下载列表中的commomtemplate-sample-0.8.0.zip)
将宏指令的特殊前缀语法去掉, 改成命名约定:
受FreeMarker影响, 它使用仿XML的:
<@mymacro/>
<@mymacro&g ...
借鉴CSS3的表达式
看了一遍CSS3的表达式设计, 准备借鉴其"^=", "$=", "*="三个操作符,
分别表示startsWith, endsWith, containsWith,
等号前的符号和正则表达式中的符号含义相似, 比较容易接受,
参见:http://www.w3.org/TR/2005/WD-css3-selectors-2005121 ...
是重复发明轮子还是a new big thing? easyjweb VS struts2
有些日子没有上CSDN了,今天一上,却险些被一个题目吓得昏了过去。引用我们还需要struts2吗? EasyJWeb vs Struts2这么有煽动性的标题还是很唬人的。我一向自诩对于web框架还是略知一二的,怎么突然冒出了个可以PK掉struts2的东东而我事前一点风声都没有听到呢?
难道是A big thing悄然诞生了吗?
迫不及待的下载了easyjweb的code,快 ...
更新CommonTemplate类图
昨天更新了UML, 保持与API同步, 加入了设计域框标识, 并采用了四色原型.
四色原型概要[Coad95-97]
红色:moment-interval (瞬时状态,会话)
黄色:role (主动域,操作者)
绿色:party, place or thing (被动域,值对象,实体等)
蓝色:catalog-entry-like description (分类标识)
项目站点显示位置:
http ...
lambda表达式语法思考
CommonTemplate(http://www.commontemplate.org)最近实现了简单的lambda表达式功能,但操作符语法未定,
可选方案:
1.仿Python,采用“lambda”
如:list[lambda i : i > 0]
符合标准lambda表达式定义格式,但太复杂,不简洁。
2.仿JavaFX,采用“|”
如:list[i | i > 0]
但因为“| ...
CommonTemplate发布0.7.6
此版本重构了side包的集成方案,将所有web集成统一用Listener进行初始化:
<context-param>
<param-name>commontemplate-config</param-name>
<param-value>
org/commontemplate/standard/commonte ...
CommoTemplate发布0.7.5
调整了core包与engine包的一些细节,
修改了Boolean运算,使其符合JavaScript风格:
即:null作为false处理,|| 运算符返回第一个非false(或非null)的对象(注:不一定是Boolean值)
衍生出的写法:
$for{item : list1 || list2 || list3}
选择第一个非空集合迭代。
加入了并行迭代支持:
$for{item1 : li ...
循环包含问题
在CommonTemplate(http://www.commontemplate.org)中,
内嵌模板指令 $inline{"xxx.ctl"} 相当于JSP中的 <%@include file="xxx.jsp"%>
包含模板指令 $include{"xxx.ctl"} 相当于JSP中的 <jsp:include ...
与EasyJF集成
今天和EasyJF框架(http://www.easyjf.org)的作者“天一”加为好友,很高兴认识他,
我们决定把CommonTemplate(http://www.commontemplate.org)与EasyJF框架集成,
希望以后可以更多合作,互相勉励,共同进步。
一个接口设计模式的探讨
我在设计一个UI时,采用了模版引擎实现,为了隔绝和各模版引擎实现的依赖性,我对模版引擎进行了包装,抽象出一层接口层:
Template
public interface Template {
public void merge(Context context)throws MergeException;
}
Context
jav ...
重用CommonTemplate的EL
上几天和jindw讨论时,
他提到想在他的一个开源项目重用CommonTemplate(http://www.commontemplate.org)的EL (Expression Language),
问我是否可以抽取使用,我觉得这是一个很好的想法,
为此重构了一下CommonTemplate,以使EL分离于TL (Template Language),可以单独使用。
因为原始设计就将EL单独设计 ...
模板是否应该支持函数调用?
首先,将Java中的Method分成:Subroutine和Function两种,
按照“契约式设计原则”的说法,Subroutine是有副作用的(side-effect),而Function是没有副作用,
语法上 ...
Jwebap与CommonTemplate的整合
今天非常感谢javatar能够抽空为我详细的讲解了整个CommonTemplate的设计细节以及使用。在不久的这段时间里,我将使Jwebap完全采用CommonTemplate来构建控制台和分析视图。
那么,为什么要采用模版引擎来实现分析视图呢?可以这么说,‘使用简便’一直是Jwebap极力追求的一项指标,包括在SQL分析插件里面,为了部署方便,Jwebap花了很多的力气实现Clas ...