FreeMarker的介绍及快速入门

243 阅读3分钟

这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战

了解FreeMarker

FreeMarker是一个模板引擎,是一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

核心 template + date-mode = output 。

  1. 彻底的分离表现层和业务逻辑
  2. 性能好,提高了开发效率
  3. 使得开发过程中的人员分工更加明确
  4. 学习成本低
  5. 支持表达式、宏定义(类似jsp标签)

FreeMarker的基本语法

  • 标量 : 标量是最基本,最简单的数值类型

字符串:表示简单的文本

数字:整数和非整数是不区分的,只有单一的数字类型

布尔值:布尔值代表了逻辑上的对或错(是或否)

日期/时间(日期,时间或日期时间):日期变量可以存储和日期/时间相关的数据

  • 容器 :

哈希表:类似于Java中的HashMap,不记录内部元素的顺序,仅仅通过名称来访问数据

序列:类似于Java中的集合List,可以通过下标进行访问,从0开始

集合:从模板设计者角度来看,集合是有限制的序列,不能获取集合的大小,也不能通过索引取出集合中的子变量,但是它们仍然可以通过list指令来遍历。

  • 子程序 :

方法和函数

用户自定义指令

FreeMarker的快速入门

什么是页面静态化

  • 静态页面
  1. 静态网页的内容稳定,页面加载速度快。
  2. 静态网页的没有数据库支持,在网站制作和维护方面的工作量较大。
  3. 静态网页的交互性差,有很大的局限性。
  • 页面静态化适用场景
  1. 高并发、要求用户响应速度快。
  2. 适用于大规模且数据变化不太频繁的页面
  • 动态页面
  1. 交互性好。
  2. 动态网页的信息都需要从数据库中读取,每打开一个一面就需要去获取一次数据库,如果访问人数很多,也就会对服务器增加很大的荷载,从而影响这个网站的运行速度。

快速入门

构建一个maven项目(使用默认模板)

导入FreeMarker的依赖(打开maven仓库去选择使用人数最多的版本)

在maven项目的resource目录下构建一个templates的目录

在templates目录下构建一个welcome的ftl文件并且书写简单的模板内容

在src下新建一个package,并且书写加载ftl并且转换其他文件的类

step1、构建配置类

step2、设置模板存放路径

step3、构建数据模型

step4、加载模板文件

step5、生成Writer输出流

step6、输出文件

step7、关流