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. BFC 详说 Block Formatting Contexts (块级格式化上下文)

    定位方案是控制元素的布局,在 CSS 2.1 中,有三种定位方案——普通流 (Normal Flow) .浮动 (Floats) 和绝对定位 (Absolute Positioning) ,下面分别对 ...

  2. 『NiFi 学习之路』自定义 —— 组件的自定义及使用

    一.概述 许多业务仅仅使用官方提供的组件不能够满足性能上的需求,往往要通过高度可定制的组件来完成特定的业务需求. 而 NiFi 提供了自定义组件的这种方式. 二.自定义 Processor 占坑待续 ...

  3. Axure的总结

    1.Axure的用途      Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示意图.操作流程图.以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示 ...

  4. Koa源码解析

    Koa是一款设计优雅的轻量级Node.js框架,它主要提供了一套巧妙的中间件机制与简练的API封装,因此源码阅读起来也十分轻松,不论你从事前端或是后端研发,相信都会有所收获. 目录结构 首先将源码下载 ...

  5. char,short,int长度

    数据类型的本质就是固定内存大小的别名 char:1byte short:  2byte int:4byte 其实变量也是对连续内存的别名,相当于这段内存的句柄.钩子

  6. 再也不学AJAX了!(二)使用AJAX

    在上一篇文章中我们知道,AJAX是一系列技术的统称.在本篇中我们将更进一步,详细解释如何使用Ajax技术在项目中获取数据.而为了解释清楚,我们首先要搞清楚我们是从哪里获取数据的,其次我们关注的才是获取 ...

  7. 总结的一些json格式和对象/String/Map/List等的互转工具类

    总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...

  8. 优盘版Kali

    准备USB镜象 下载Kali linux. 如果你用的是Windows,下载Win32 Disk Imager. *nix类系统不需要额外的软件. 一块U盘(至少 2GB 容量). Kali Linu ...

  9. POJ_1159 Palindrome (线性动态规划+滚动数组)

    题意是说,给定一个字符串,问至少还需要插入多少个字符才能使得该字符串成为回文字符串. 这道题一开始做的时候用了一个简单的动态规划,开了一个5000*5000的数组,用递归形式实现,代码如下: 其中d[ ...

  10. input[type="file"]的样式以及文件名的显示

    如何美化input[type="file"] 基本思路是: (1)首先在 input 外层套一个 div : (2)将 div 和 input 设置为一样大小(width和heig ...