首页 > 其他 > 详细

freemarker 替换(方括号)语法

时间:2014-07-14 16:55:48      阅读:378      评论:0      收藏:0      [点我收藏+]
注意:
这个特性从 FreeMarker 2.3.4 版本后才可用。

FreeMarker 支持一个替换的语法。就是在 FreeMarker 的指令和注释中用 [ 和 ] 来代替 <和 > ,例如下面这个例子:

调用预定义指令: [#list animals as being]...[/#list]
调用自定义指令: [@myMacro /]
注释: [#-- the comment --]


为了使用这种语法从而代替默认语法,从模板开始,使用 ftl 指令都要使用这用语法。如果你不知道什么是 ftl 指令,那么就用 [#ftl] 来开始模板,要记住这个要放在文件的最前面(除了它前面的空格)。例如,下面的示例入门章节的最后一个例子使用这种替换语法的样子

[#ftl]
<p>We have these animals:
<table border=1>
<tr><th>Name<th>Price
[#list animals as being]
<tr>
<td>
[#if being.size = "large"]<b>[/#if]
${being.name}
[#if being.size = "large"]</b>[/#if]
<td>${being.price} Euros
[/#list]
</table>
这种替换语法(方括号)和默认语法(尖括号)在一个模板中是相互排斥的。那就是说,整个模板要么全部使用替换语法,要么全部使用默认语法。如果模板使用了替换语法,那么如 <#if ...> 这样的部分就会被算作是静态文本,而不是 FTL 标签了。类似地,如果模板使用默认语法,那么如 [#if ...] 这样的也会被算作是静态文本,而不是 FTL 标签。

如果你以 [#ftl ...] ( ... 代表可选的参数列表,当然仅用 [#ftl]s 也行)来开始文件,那文件就会使用替换(方括号)语法。如果使用 <#ftl ...> 来开始,那么文件就会使用正常(尖括号)语法。如果文件中没有 ftl 指令,那么程序员可以通过配置FreeMarker(程序员参看 API 文档的 Configuration.setTagSyntax(int) 来使用)来决定使用哪种语法。但是程序员可能使用默认配置。FreeMarker 2.3.x 版本默认配置
使用常规语法。而 2.4 版本中的默认配置将会自动检测,也就是说第一个 FreeMarker 标签决定了语法形式(它可以是任意的,而不仅仅是 ftl )。

freemarker 替换(方括号)语法,布布扣,bubuko.com

freemarker 替换(方括号)语法

原文:http://blog.csdn.net/coslay/article/details/37761625

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!