首页 > 代码库 > FreeMarker初探--介绍
FreeMarker初探--介绍
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
最简单的模板是普通 HTML 文件(或者是其他任何文本文件—FreeMarker 本身不属于HTML) 。当客户端访问页面时,FreeMarker 要发送 HTML 代码至客户端浏览器端显示。如果想要页面动起来,就要在 HTML 中放置能被 FreeMarker 所解析的特殊部分。${…}:FreeMarker 将会输出真实的值来替换花括号内的表达式,这样的表达式被称为
interpolations 插值,可以参考第上面示例的内容。FTL tags 标签(FreeMarker 模板的语言标签) :FTL 标签和 HTML 标签有一点相似,但是它们是 FreeMarker 的指令而且是不会直接输出出来的东西。这些标签的使用一般以符号#开头。(用户自定义的 FTL 标签使用@符号来代替#,但这是更高级的主题内容了,后面会详细地讨论)Comments 注释:FreeMarker 的注释和 HTML 的注释相似,但是它用<#--和-->来分隔的。任何介于这两个分隔符(包含分隔符本身)之间内容会被 FreeMarker 忽略,就不会输出出来了。
其他任何不是 FTL 标签,插值或注释的内容将被视为静态文本,这些东西就不会被
FreeMarker 所解析,会被按照原样输出出来。
directives 指令:就是所指的 FTL 标签。这些指令在 HTML 的标签(如<table>和
</table>) 和 HTML 元素(如 table 元素)中的关系是相同的。 (如果现在你还不能区
分它们,那么把“FTL 标签”和“指令”看做是同义词即可。)
FreeMarker中的数据类型:
1.字符串(String):这是文本类型,字符的任意序列
2.数字(Integer):这是数字值类型,在 FreeMarker 中字符串”120”和数字 120是两种完全不同的类型。前者只是两个字符的序列(这恰好是我们可以读的一个数字) ,而后者是一个可以在算数运算中直接被使用的数值。
3.日期/时间(Date):这是时间日期类型。eg:入职时间。。。
4.布尔值(Boolean):对应对/错.true or false.
数据模型可以被看做是树状结构的。标量存储单一的值,这种类型的值可以是字符串,数字,日期/时间或者是布尔值。哈希表是存储变量和与其相关且有唯一标识名称变量的容器。序列是存储有序变量的容器。存储的变量可以通过数字索引来检索,索引通常从零开始。
FreeMarker初探--介绍