一、FreeMarker生成HTML页面
在动态HTML上springBoot的表现依然完美,它提供了多种模板引擎的默认配置支持,其中主要有Thymeleaf、FreeMarker、Velocity等,springBoot推荐使用这些模板引擎,不建议使用JSP,因为JSP无法实现springBoot的多种特性。FreeMarker基于Apache2.0版本发布,其模板编写为FreeMarker Template Language(FTL),是一个基于模板生成文本输出的通用工具,使用纯Java编写,属于简单、专用的语言。FreeMarker被设计用来生成渲染HTML Web页面,特别是基于MVC模式的应用程序,通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据,简单来讲就是模板加数据模型,然后输出页面。
二、使用FreeMarker渲染web视图
1.添加依赖关系
整合FreeMarker首先需要在POM文件内引入相关依赖。
<!-- 引入freeMarker的依赖包. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2.修改application.properties文件
为了实现热部署,这里配置一下FreeMarker的缓存,关于FreeMarker的其它配置使用默认即可。
spring.freemarker.cache=false
3.创建FreeMarker模板
当你使用任何一个模板引擎时,它的默认模板配置路径为:src/main/resources/templates,模板默认是从classpath:/templates/这个位置查找的。
创建demo.ftl文件
<html>
<head>
<meta charset="UTF-8">
<title>FreeMarker</title>
</head>
<body>
springBoot使用${name}渲染页面。
</body>
</html>
4.创建Controller辅助类
@Controller
public class FreeMarkerController {
@RequestMapping("/demo")
public String demo(Map<String,Object> map){
map.put("name","FreeMarker");
return "demo";
}
}
5.测试
启动工程,在浏览器中输入http://localhost:8080/demo
结果如下: