前言
从毕业到现在,从事的项目基本都是前后端分离项目,当然了这也是大势所趋。然而时间一长,发现自己View层的能力愈发欠缺,于是乎就找了FreeMarker这种对spring boot天生支持良好的模版引擎充电。
理解模版引擎
定义
借用官方的解释:FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本的通用工具。
FreeMarker后缀是.ftl的文件,它是Java的一个类库,View层的一个组件,一般用于生产html
处理流程
其实简单来讲大致的流程是这样的:
进入正题
初始化
- pom引入依赖如下
1 | <dependency> |
目录结构
- src源代码目录
- static静态资源目录
- templates即.ftl文件目录
两个简单的demo
如今的spring boot自动化配置时代,许多事情都变得简单了起来。spring boot规定只要将.ftl文件丢到templates包下,在控制层返回.ftl文件的名字即可生成html返回给浏览器
- 启动项目访问浏览器即可看到效果
再来看看一个简单的传值
- 输出结果
这里借用一下官网解释,FreeMarker这个模版引擎是由下面几部分混合而成
- 文本:文本会照着原样来输出。
- 插值:这部分的输出会被计算的值来替换。插值由
${
and}
所分隔(或者#{
and}
,这种风格已经不建议再使用了;点击查看更多)。 - FTL 标签【指令】:FTL标签和HTML标签很相似,但是它们却是给FreeMarker的指示, 而且不会打印在输出内容中。
- 注释:注释和HTML的注释也很相似,但它们是由
<#--
和-->
来分隔的。注释会被FreeMarker直接忽略, 更不会在输出内容中显示。
我们来看一个具体的模板。其中的内容已经用颜色来标记了: 文本【蓝】, 插值【橘】, FTL 标签【黄】, 注释【绿】
下面再来理解这张图应该就好理解了吧
总结
这篇就先入个门吧,FreeMarker是由很多高级特性的。后面有空再专门写一篇自定义函数、自定义指令的文章吧。
备用:官方手册