Freemarker
简介:
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
官网:
https://freemarker.apache.org/
在线手册:
模板常用语法,可以参考这个中文在线手册,这里不再赘述
http://freemarker.foofun.cn/
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
配置文件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/
当然完全可以不配置 都有自己的默认值
controller
package com.hrp.ecsspringboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
/**
* ecsspringboot
*
* @Title: com.hrp.ecsspringboot.controller
* @Date: 2020/6/30 20:26
* @Author: wfg
* @Description:
* @Version:
*/
@Controller
public class FreemarkerController {
@RequestMapping("/myFreeMarker")
public String testFreeMarker(Map<String,String> map){
map.put("name","zhangsan");
return "myFreeMarker";
}
}
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
hello, ${name}
</body>
</html>
预览