Freemarker的处理流程是什么

版权声明:如果觉得文章对你有用,转载不需要联系作者,但请注明出处 https://blog.csdn.net/jinxin70/article/details/82224220

freemarker是一款模板引擎,客户(通常是程序员)提供模板和数据,freemarker负责输出最终内容。

可以想象模板的一般原理,比如我要输出一个动态格式的文本,我的数据是变化的,我的模板也是动态的。

这就要求,模板中要支持表达式,能够根据条件显示,或者循环遍历数据展示,优雅的处理空值(可以给默认值或者不显示)。

数据对于模板也是动态的,要怎么做呢?使用占位符代表变量值。freemarker中成为插值

 根据这个大致思路,再深入聊一下模板处理流程。

1 初始化,缓存
2 设置编码,设置模板加载路径
3 设置模板名称
4 (从缓存)获取模板,加载模板,解析模板(按一定格式解析成结构化的对象,对文本、插值、自定义标签分别处理)
5 输出目标文件

猜你喜欢

转载自blog.csdn.net/jinxin70/article/details/82224220