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初探--介绍的更多相关文章

  1. freemarker语法介绍及其入门教程实例

    # freemarker语法介绍及其入门教程实例 # ## FreeMarker标签使用 #####一.FreeMarker模板文件主要有4个部分组成</br>####  1.文本,直接输 ...

  2. FreeMarker标签介绍

    转自:http://www.blogjava.net/kxbin/articles/366505.html FreeMarker标签使用 一.FreeMarker模板文件主要有4个部分组成  1.文本 ...

  3. FreeMarker初探--安装FreeMarker

    这里安装FreeMarker相当简单,不需要真正的安装过程.仅仅是拷贝 lib/freemarker.jar 到你 Java 应用程序的路径中,让类加载器可以发现它.比如,如果你在 Web 使用了 F ...

  4. freemarker内建函数介绍

    Sequence的内置函数1.sequence?first 返回sequence的第一个值.2.sequence?last 返回sequence的最后一个值.3.sequence?reverse 将s ...

  5. Freemarker常用技巧(三)

    freemarker模板解析过程 例如:一个freemarker表达式<body> ${hello} </body>,会被解析成三个部分,分别是<body>${he ...

  6. Spring mvc整合freemarker详解

    1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式 ...

  7. Freemarker实例教程

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任.作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/a ...

  8. springboot使用Freemarker继承

    最近需要用到Freemarker的继承.但是发现没有关于springboot配置Freemarker的继承的.所以趁现在有时间写个博客. 1. Freemarker继承介绍 Freemarker 通过 ...

  9. FreeMarker 教程整理

    Freemarker新手教程 http://blog.csdn.net/qq_23994787/article/details/77506980   FreeMarker教程整理 http://blo ...

随机推荐

  1. ruby中的顶层方法

    在ruby中写顶层函数的时候,总会有一个问题,self是谁,这些方法是谁的,是什么方法. 如下: p self p self.class def talk p self end talk 输出main ...

  2. javascript与jQuery的each,map回调函数参数顺序问题

    <script> var arr = [2,3,6,7,9]; //javascript中的forEach 和 map方法 arr.forEach(function(value,index ...

  3. LeetCode 7. Reverse Integer 一个整数倒叙输出

    潜在问题:(1)随着求和可能精度会溢出int 范围,需要使用long 来辅助判断是否溢出,此时返回 0 Assume we are dealing with an environment which ...

  4. ansible playbook部署ELK集群系统

    一.介绍 总共4台机器,分别为 192.168.1.99 192.168.1.100 192.168.1.210 192.168.1.211 服务所在机器为: redis:192.168.1.211 ...

  5. zookeeper可视化管理工具node-zk-browser安装

    一.安装nodejs 1. 下载 wget https://github.com/joyent/node/archive/v0.10.35.tar.gz 2. 解压 3. 安装依赖 yum -y in ...

  6. Could not initialize class sun.awt.X11FontManager 异常问题

    查了很多资料都是建议在  catalina.sh 中增加 -Djava.awt.headless=true \  的配置. 加了没有效果. 后来发现是因为JDK版本问题,将JDK 8换成 JDK 7后 ...

  7. [JavaWeb]关于DBUtils中QueryRunner的一些解读(转)

    QueryRunner类 QueryRunner中提供对sql语句操作的API它主要有三个方法 query() 用于执行select update() 用于执行insert/update/delete ...

  8. mybatis映射文件_select_resultMap

    实体类: Employee.java类: package com.hand.mybatis.bean; public class Employee {        private Integer e ...

  9. python中的参数传递和返回值

    python中的参数传递类似java,有着自己的内存回收机制,这和C++有着很大的差别. 1.函数的参数传递: >>> a = [, , ] >>> def fun ...

  10. Gogeos安装

    环境要求: Windows64,Go,minGW(统一64位) 1.安装geos 下载GEOS 3.3.8源码,解压后,按readme文件编译(基于VS2010的64位编译工具执行的nmake编译命令 ...