FreeMarker一般的使用方式、SpringBoot + Web + FreeMarker的使用方式

声明一:文章不是关键,关键是放在本文末尾的FreeMarker测试项目链接,建议读者下载测试项目(测
               试代码已写好)运行,自己进行测试理解

声明二:本文以纯图片的形式简单介绍FreeMarker的使用,具体文字版测试示例项目可去本文末下载。


        FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。

FreeMarker功能是

注:虽然模板文件可以是任意后缀名的文件,但是我们一般都约定俗成的将模板文件后缀名改为ftl;这样一来,任何
       人一看就知道谁是FreeMarker的模板文件。

注:传入的数据必须要有一个key才行,FreeMarker模板语言以该key为根,并按照其一定的表达式语言,定位到根下的
       各个节点,从而取出相应的数据。
       追注:可类比JSP进行理解

FreeMarker一般的使用方式

模板文件(normal.ftl)是这样的:

代码是这样的:

提示:上述代码需要引入FreeMarker的Jar包。

结果文件(normal.html)是这样的:


SpringBoot整合FreeMarker

第一步在pom.xml中引入相关的依赖。

注:这里引入spring-boot-starter-freemarker才是关键;其余依赖都可以不引入;不过考虑到在接下来会给一个使用示
       例,所以还引入了web支持、快速快发lombok、热部署devtools;当然,test是基本依赖。

第二步编辑系统配置文件application.properties,指定以什么后缀名的文件作为模板、指定在哪个文件夹下去找模板文件。

注:更多配置可详见源码或查阅相关文档。


SpringBoot通过WEB使用FreeMarker的方式

关键点说明:

  • 给控制层方法额外加一个SpringMVC数据处理模型(Model或ModelMap或Map)
    注:对于那些请求本身就带有参数的方法,只需要额外加数据处理模型即可,不影响原参数的获取。

  • 方法返回值为String,返回模板文件(相对于spring.freemarker.template-loader-path参数指定的文件夹)的文件名路径(不要后缀)

无参请求的使用方式如

模板位置在:

使用方式,如:

注:将模板model_test.ftl所需的数据放入Model或ModelMap或Map中即可。

有参请求的使用方式如

模板位置在:

使用方式,如:

注:数据处理模型Model、ModelMap、Map任选其一即可,上图中是以Model示例的。


FreeMarker常用语法(放大图片看)

提示:更多用法可浏览官网。

 

笔者寄语

希望读者根据以下链接,下载项目,自己运行项目进行理解,这里先说明一下项目结构:

 

^_^ 如有不当之处,欢迎指正

^_^ 参考链接
              
 http://freemarker.foofun.cn/ref_directive_if.html

^_^ 测试代码托管链接 
               
https://github.com/JustryDeng/CommonRepository

^_^ 本文已经被收录进《程序员成长笔记(五)》,笔者JustryDeng

猜你喜欢

转载自blog.csdn.net/justry_deng/article/details/89389742