SpringBoot2.X (二十三):SpringBoot整合 Freemaker 模板引擎

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fxbin123/article/details/83224760

一、Freemarker

简介:

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

模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

官网:

https://freemarker.apache.org/

在线手册:

模板常用语法,可以参考这个中文在线手册,这里不再赘述
http://freemarker.foofun.cn/

二、代码实战:

1、maven 依赖:
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
2、yml 文件配置:
spring:
  application:
    name: freemarker
  freemarker:
    # 禁用模板缓存
    cache: false
    # 编码格式
    charset: UTF-8
    # freemarker模板后缀 默认是 .ftl
    suffix: .html
    # 是否为此技术启用MVC视图分辨率。
    enabled: true
    # Content-Type值
    content-type: text/html
    # #模板加载路径 按需配置 ,默认路径是 classpath:/templates/
    template-loader-path: classpath:/templates/
3、创建Freemarker模板文件

由于在配置中配置了模板后缀为 .html(默认为 .ftl),所以这里创建一个 index.html 文件
文件内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
Hello ${content}
</body>
</html>
4、创建测试Controller
/**
 * created with IntelliJ IDEA.
 * author: fxbin
 * date: 2018/10/21
 * time: 4:15
 * version: 1.0
 * description:
 */
@Controller
public class FreemarkerController {

    @RequestMapping("/index")
    public String index(Model model){
        model.addAttribute("content", "Freemarker");
        return "index";
    }
}
5、启动项目,进行测试

浏览器访问 : http://localhost:8080/index

可以看到 模板中写的 ${content} 已经被代码中的 Freemarker 取代了

在这里插入图片描述

代码地址

— end —

如有问题,请及时沟通,谢谢

猜你喜欢

转载自blog.csdn.net/fxbin123/article/details/83224760