文章图片标题

freemaker模板技术之模板总体结构组成部分简析

分类:模板引擎 作者:阳光倾城 评论:0 点击: 633 次 日期:2015-07-30

模板总体结构

平常工作中用程序语言编写的程序就是模板,freemaker模板简称 FTL (代表 FreeMarker 模板语
言)。这种模板解决方案为编写模板设计提供了简洁的编程语言。
模板(FTL 编程语言)由如下部分组合而成:

Text 文本:文本会照着原样来输出。
Interpolation 插值:这部分的输出会被计算的值来替换。插值由${和}所分隔(或者#{和},这种风格不建议再使用)。
FTL  tags 标签:FTL 标签和 HTML 标签很相似,只会被 FreeMarker引擎解析,不会打印在输出内容中。
Comments 注释: FTL 的注释和 HTML 的注释也很相似,但它们是由<#--和-->来分隔的。注释会被 FreeMarker 所忽略,更不会在输出内容中显示。

我们来看一个具体的模板: 文本, 插值, FTL 标签,
注释,为了看到可见的换行符,这里使用了[BR]。

<html>[BR]
<head>[BR]
<title>Welcome!</title>[BR]
</head> [BR]
<body>[BR]
<#--  Greet  the user with his/her name --> [BR]
<h1>Welcome ${user}!</h1>[BR]
<p>We  have  these  animals:[BR]
<ul>[BR]
<#list animals as being>[BR]
<li>${being.name} for ${being.price} Euros[BR]
</#list>[BR]
</ul> [BR]
</body> [BR]
</html> 

FTL 是区分大小写的。list 是指令的名称而 List 就不是,类似地${name}和
${Name}或者${NAME}它们也是不同的。
应该意识到非常重要的一点:插值不只是可以在文本中间使用(也可以在字符串表达式
中) 。
FTL 标签不可以在其他 FTL 标签和插值中使用。下面这样写就是错的:
<#if <#include 'foo'>='bar'>...</#if>(这点和jsf一样)
注释可以放在 FTL 标签和插值中间。比如:

<h1>Welcome  ${user <#--  The name of user -- >}!</h1>[BR]
<p>We have these animals:[BR]
<ul>[BR]
<#list  <#--  some comment... --> animals as  <#--  again... -- >
being>[BR]
... 



声明: 除非注明,本文属( 阳光倾城 )原创,转载请保留链接: http://www.tomrrow.com/archives-3016.html