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
分享到:
相关推荐
2. **miniBrowse.java**:根据标签“Java小程序”,我们可以推断这可能是该HTML语法分析程序的核心源代码文件,用Java编程语言编写。Java是一种广泛使用的面向对象的编程语言,以其跨平台能力和安全性著称。在这个...
这份“html 语法手册下载 chm版.RAR”压缩包包含了关于HTML语法的全面指南,适用于初学者和有一定经验的开发者,帮助他们深入理解和掌握HTML的各种元素、属性和结构。 在“html语法教程.chm”中,你将找到以下关键...
学习HTML语法学习HTML语法学习HTML语法学习HTML语法学习HTML语法 学习HTML语法学习HTML语法学习HTML语法学习HTML语法学习HTML语法 学习HTML语法学习HTML语法学习HTML语法学习HTML语法学习HTML语法 学习HTML语法学习...
1. **易学易用**:CommonTemplate的语法简洁,易于理解和学习,降低了开发门槛。 2. **高效性能**:通过编译模板为Java字节码,提高了模板的执行效率。 3. **良好的可扩展性**:支持自定义指令和标签库,满足复杂...
使用方法:复制压缩包中的“DefaultLanguage.py”到“Sublime Text文件夹\Data...Ctrl+N新建文档,默认即为HTML文件。 查阅了一些资料,自己整理的。 压缩包中包含参考文档,说的不是特别清楚,直接用我的文件就可以。
Markdown语法大全(超级版)是Markdown语法的全面指南,涵盖了Markdown的设计理念、内联HTML语法、特殊字符自动转义、行内语法、标题、任务列表、缩进、换行、空行、对齐方式、斜体、粗体、删除线、下划线、背景高亮...
**JSP技术的语法-标签** 在Web开发中,JavaServer Pages (JSP) 技术是一种用于构建动态网页的应用程序开发平台。JSP通过结合HTML、CSS、JavaScript以及Java代码,提供了强大的功能来创建交互式的网页。本篇将详细...
2. 分隔标签:也就是所谓的水平线,是 HTML 语法中用来分隔内容的标签。 3. 排版标签:针对标签的属性,可以做适当的版面编排。 4. 字体标签:教导您设定文字的字体。 5. 文字标签:教导您设定文字的颜色、行距、...
html5基础语法与标签.md
以上仅是HTML语法的一部分,全面掌握HTML需要学习更多的标签和属性,以及如何结合CSS和JavaScript进行更复杂的设计和交互。《HTML语法大全》作为一本详实的参考书,提供了丰富的示例和解释,是学习HTML不可多得的...
html----HTML+CSS基础教程(课件PPT版)----介绍HTML和CSS的基础知识。学习HTML基础语法、标签、CSS基础语法和选择器,以及它们的基本用法。
- `<SCRIPT>`:包含JavaScript代码,用于增加交互性和动态功能。 `<TITLE>`标签是HTML头部的重要组成部分,它不仅在浏览器的标题栏中显示,还影响着网页在收藏夹和书签中的显示,以及在搜索引擎优化(SEO)中的...
这只是HTML语法的一部分,实际上HTML还包括表格、表格、框架、表单等更复杂的元素和属性,以及CSS(层叠样式表)用于美化网页外观和JavaScript用于增加交互性。学习HTML是构建动态、交互式网页的基础。
双花括号语法,会将数据中的 HTML 转为纯文本后再进行插值。为了输出真正的 HTML,你需要使用 v-html 指令: 使用双花括号语法:{{ rawHtml }} 使用 v-html 指令:<span v-html=rawHtml></span></p> 使用双花括号...
### 详解HTML、CSS与JavaScript语法辞典 #### HTML(HyperText Markup Language) HTML是一种标记语言,用于构建网页的基本结构。它由一系列的元素组成,这些元素通过标签表示。了解HTML的基本语法对于创建任何...
适用于想复习HTML5所以标签,语法的同学 适用于HTML5期末考试的一个快速复习 适用于快速查找与记忆HTML5大量标签的同学 适用于忘了某些标签,想快速查看的同学 适用于喜欢阅读思维导图的同学 使用场景: 个人复习 ...
在《HTML语法速查》这份文档中,虽然提供的内容主要是图片形式,但我们可以基于标题、描述和标签推测出,其主要目的是为学习者提供一个快速查阅HTML基础语法的资源。以下是对HTML核心概念与常用语法的详细介绍,旨在...
html_css_javascript语法手册 html_css_javascript语法手册 html_css_javascript语法手册 html_css_javascript语法手册 html_css_javascript语法手册
Java版的语法分析程序是计算机科学领域中编译器设计的一部分,主要负责将源代码转换成解析树(或称为抽象语法树,AST - Abstract Syntax Tree)的结构,这是编译器理解并处理程序语句的基础。这个过程通常分为词法...