如何简单使用FreeMarker
FreeMarker中文官方参考手册
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
1、Freemarker相关maven依赖
<!-- 引入freemarker模板引擎的依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、Freemarker基础配置
在application.properties配置如下
# 是否开启thymeleaf缓存,本地为false,生产建议为true(上线后)
#不然没法看到实时页面
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
#是否允许request请求
spring.freemarker.allow-request-override=false
#检查模板位置
spring.freemarker.check-template-location=true
#类型
spring.freemarker.content-type=text/html
#属性设置
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
#文件后缀
spring.freemarker.suffix=.ftl
#路径
spring.freemarker.template-loader-path=classpath:/templates/
3、建立文件夹
1)src/main/resources/templates (springboot已自动创建)
2)建立一个index.ftl
引用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
这是freemarker
${msg}
</body>
</html>
Controller代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/freemarker") //一级目录
public class FreeMarkerController {
@GetMapping("/index")
public ModelAndView index(ModelAndView model){
model.addObject("msg","hello freemarker");
model.setViewName("index"); // 已在application.properties配置文件后缀
return model;
}
}