我一直都想搞一个
XML的模板引擎,大凡非xml的模板风格,第一感觉就是那么的不爽。
可是CommonTemplate例外。
CommonTemplate处处为程序员考虑周到的漂亮的语法风格,确实非常诱人。
具体的语法我就不一一列举了,大家可以到他的
官方网站去翻阅。
挑几个亮点介绍一下:
    - 
    for循环的空处理,相信曾经麻烦了不少程序员吧。现在好了,CT支持如下语法:
    $for{ }
       <tr>
          <td>1</td>
          <td>2</td>
          <td>3</td>
       </tr>
       $forelse
       <tr>
          <td colspan="3">没有数据</td>
       </tr>
       $end }
       <tr>
          <td>1</td>
          <td>2</td>
          <td>3</td>
       </tr>
       $forelse
       <tr>
          <td colspan="3">没有数据</td>
       </tr>
       $end
 
 
- 
    大胆的关键字利用。
 <html>
 <body>
 $if{users != null && users.size > 0}
 <table border="1">
 $for{user : users}
 <tr>
 <td>${for.index + 1}</td>
 <td>${user.name}</td>
 <td>${user.coins}</td>
 </tr>
 $end
 </table>
 $end
 </body>
 </html>
 
 
 大家看这段代码。一般来说,for这种常用关键字是不好用作id的,但是这里作为默认的循环状态对象的id。既解决了块对象存放的问题,又不会引起其他命名的冲突。一个字,妙!!!!
 
 
- 
    其他漂亮的特征:
 注释版语法外套,方便于测试数据填充及可视化编辑。
 单一的语法规则,方便解析与扩展。
 
 等等。。。。
 
好了,赞叹之余还是给出一点点遗憾:
boolean 运算有点丑陋。
我个人更期望 js的boolean运算风格,没有必要一碰到boolean 运算就返回true ? false
我们完全可以返回一个更有意义的值,比如,我更期望这个语句能如我所愿的执行。
 
${ variable|| "默认值"}
当能,如上支持,CT是有的,它的写法是 
 
${ variable | "默认值"}
但是,我感觉,这个语法就有点复杂了,也不那么直观。
一般来说| 是按位取或,是位运算符,这里这个用法,跳跃的确实有点大,较难接受的。
	
posted on 2007-11-29 21:28 
金大为 阅读(1478) 
评论(5)  编辑  收藏  所属分类: 
Java