CommonTemplate(
http://www.commontemplate.org)已提供了注释版和属性版语法外套.
注释版语法外套:
<html>
<body>
<!--$if{users != null && users.size &gt; 0}-->
<table border="1">
<!--$for{user : users}-->
<tr>
<td><!--$output{for.index + 1}-->1<!--$end--></td>
<td><!--$output{user.name}-->james<!--$end--></td>
<td><!--$output{user.coins}-->2.00<!--$end--></td>
</tr>
<!--$end-->
</table>
<!--$end-->
</body>
</html>
属性版语法外套:
<html>
<body>
<table ct:if="users != null && users.size &gt; 0" border="1">
<tr ct:for="user : users">
<td><span ct:output="for.index + 1">1</span></td>
<td><span ct:output="user.name">james</span></td>
<td><span ct:output="user.coins">2.00</span></td>
</tr>
</table>
</body>
</html>
当模板应用于XML/HTML时, 可能需要保持完整的DOM模型结构,
属性版语法外套也可以做到, 但转换比较耗时, 且存在不规则HTML语法兼容问题.
桂林提议加入XML/HTML标签版语法外套, 使用如:
<html>
<body>
<ct:if param="users != null && users.size &gt; 0">
<table border="1">
<ct:for param="user : users">
<tr>
<td><ct:out param="for.index + 1"/></td>
<td><ct:out param="user.name"/></td>
<td><ct:out param="user.coins"/></td>
</tr>
</ct:for>
</table>
</ct:if>
</body>
</html>
其结构与标准语法是一对一的, 转换起来非常方便.
使用ResourceFilter扩展点进行实现,
在资源加载时使用简单的正则表达式替换,
不解析HTML语法,也就没有不规则HTML语法兼容问题,
只用了两条正则表达式, 就完成了转换:
text = text.replaceAll("\\<ct\\s*\\:\\s*([0-9|_|A-Z|a-z]+)\\s+param\\s*\\=\\s*\\"([^\\"]+)\\"\\s*\\/?\\>", "\\$$1{$2}");
text = text.replaceAll("\\<\\/\\s*ct\\s*\\:\\s*([0-9|_|A-Z|a-z]+)\\s*\\>", "\\$end{$1}");
加载模板资源时有内存消耗和转换时间消耗,但消耗不是很大,
从0.8.7版本开始支持.
参见:
http://www.commontemplate.org
分享到:
相关推荐
html基本语法标签html基本语法标签html基本语法标签html基本语法标签html基本语法标签html基本语法标签
html语法总结html语法总结html语法总结html语法总结html语法总结html语法总结html语法总结html语法总结
学习HTML语法学习HTML语法学习HTML语法学习HTML语法学习HTML语法 学习HTML语法学习HTML语法学习HTML语法学习HTML语法学习HTML语法 学习HTML语法学习HTML语法学习HTML语法学习HTML语法学习HTML语法 学习HTML语法学习...
相关HTML的标签,以及用法 1、 网页架构:主要网页主架构的介绍。 2、 分隔标签:也就是所谓的水平线。 3、 排版标签:针对标签的属性,可做适当的版面编排。 4、 字体标签:教导您设定文字的字体。 5、 文字标签:...
<img align> 调整图形影像的位置 <img alt> 为你的图形影像加注 <img dynsrc loop> 加入影片 <img height width> 插入图片并预设图形大小 <img hspace> 插入图片并预设图形的左右边界 <img lowsrc> 预载图片...
HTML基本语法 HTML基本语法 HTML基本语法 HTML基本语法 HTML基本语法 HTML基本语法 HTML基本语法 HTML基本语法
html中各个标签的格式,用法,含义 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文头 <HEAD></HEAD> (描述性资料,像是「主题」) 文体 <BODY></...
列举了基于HTML 网页编程的常用标签属性及定义方法,为网页编程提供了便利。
html语法大全 html语法大全 html语法大全
label标签详情用法demo讲解语法详情.docxlabel标签详情用法demo讲解语法详情.docxlabel标签详情用法demo讲解语法详情.docxlabel标签详情用法demo讲解语法详情.docxlabel标签详情用法demo讲解语法详情.docxlabel标签...
HTML常见的语法与标签索引
html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程chm版html语法教程...
认识HTML语法 (标签快速导览) ◆ 网页架构 ◆ 分隔标签 ◆ 排版标签 ◆ 字体标签 ◆ 文字标签 ◆ 影像标签 ◆ 背景标签 ◆ 连结标签 ◆ 表格标签 ◆ 序列标签 ◆ 表单标签 ◆ 框架标签 ◆ 其他技巧
一个不错的HTMl语法分析程序
认识HTML语法 (标签快速导览) ◆ 网页架构 ◆ 分隔标签 ◆ 排版标签 ◆ 字体标签 ◆ 文字标签 ◆ 影像标签 ◆ 背景标签 ◆ 连结标签◆ 表格标签 ◆ 序列标签 ◆ 表单标签 ◆ 框架标签 ◆ 其他技巧
html5基础语法与标签.md
html语法大全
html语法与标签.zip
html基本语法,给了一个列表,可以用时查查