FreeMarker总结
2018年9月7日
- FreeMarker是什么
FreeMarker 是一个用Java 语言编写的模板引擎,它可以根据一个模板生成一个文本,具体来定位的话,FreeMarker应该算是文本生成的一个工具。
在使用时首先定义一个模板文件,常写成ftl结尾的形式,也可以是jsp或者html文件改写来的。
模板文件中有四种元素:
1、文本:直接输出的部分
2、注释:即<#--...-->格式不会输出
3、插值:即${..}部分,将使用数据模型中的部分替代输出
4、FTL指令:和HTML标签类似,标签前加#予以区分,不会输出
比如判断语法的话也是if else。
遍历的话使用的是#list。
<#list 要循环的数据 as 循环后的数据> </#list>
获取循环的下标:_index
内建函数:
内建函数语法格式: 变量?函数名称 比如: ${goodsList?size} 条记录
转换JSON字符串为对象:<#assign data=text?eval />
数字转换为字符串:累计积分:${point?c}
比较运算符:
=或者==:判断两个值是否相等.
!=:判断两个值是否不等.
>或者gt:判断左边值是否大于右边值
>=或者gte:判断左边值是否大于等于右边值
<或者lt:判断左边值是否小于右边值
<=或者lte:判断左边值是否小于等于右边值
- 为什么要用FreeMarkerDRT
FreeMarker这种技术优点就是可以使表现层和业务逻辑层分离,模板只需要负责数据展示,不需要写任何逻辑代码,这样分工可以更明确一些。并且FreeMarker由于生成的是静态界面,所以访问速度特别快
- 如何使用FreeMarker
在项目中,商品详情页是使用的FreeMarker来做的,商品审核通过的时候,将审核通过的商品ID传给FreeMarker,将静态界面生成,然后存到服务器上,当点击商品详情的时候,直接根据商品的ID去服务器上查找生成的详情界面就好了。