Apache FreeMarker™是一个模板引擎:一个Java库,用于根据模板和更改数据生成文本输出(HTML网页,电子邮件,配置文件,源代码等)。模板是用FreeMarker模板语言(FTL)编写的,这是一种简单的专用语言(不像PHP这样的完整编程语言)。通常,使用通用编程语言(如Java)来准备数据(发布数据库查询,进行业务计算)。然后,Apache FreeMarker使用模板显示准备好的数据。在模板中,您将专注于如何呈现数据,而在模板之外,您将专注于要呈现的数据。
这种方法通常被称为MVC(模型视图控制器)模式,并且特别受动态网页的欢迎。它有助于将网页设计者(HTML作者)与开发人员(通常是Java程序员)分开。设计人员不会在模板中面对复杂的逻辑,并且可以在程序员不必更改或重新编译代码的情况下更改页面的外观。
虽然FreeMarker最初是为在MVC Web应用程序框架中生成HTML页面而创建的,但它不受servlet或HTML或任何与Web相关的约束。它也用于非Web应用程序环境。
开始
1.pom.xml添加依赖
<!--freemarker-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>
2.配置文件
## Freemarker 配置
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.suffix=.ftl
3.controller添加方法
@RequestMapping(value = "/login")
public ModelAndView index(ModelAndView modelAndView) {
modelAndView.setViewName("index");
List<String> userList=new ArrayList<String>();
userList.add("1");
userList.add("2");
userList.add("3");
modelAndView.addObject("userList", userList);
return modelAndView;
}
4.templates目录下新建index.ftl文件
<!DOCTYPE html>
<html>
<head lang="en">
<title>index</title>
<link href="/static/index.css" rel="stylesheet">
</head>
<style>
h2{color:red}
</style>
<body>
<h2>首页<h2>
<#list userList as item>
${item!}<br />
</#list>
</body>
</html>