【SpringBoot】SpringBoot整合Freemarker

FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。

1、引入所需要的依赖
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>
2、编写配置文件

在SpringBoot中整合Freemarker,从而来实现后端渲染,首先来进行配置文件的配置:

# freemarker
#  是否启用模板缓存
spring.freemarker.cache=false
#  模板编码
spring.freemarker.charset=utf-8
#  是否检查模板位置是否存在
spring.freemarker.check-template-location=true
# content-type
spring.freemarker.content-type=text/html
#设定所有request的属性在merge到模板的时候,是否要都添加到model中.
spring.freemarker.expose-request-attributes=false
# 是否在merge模板的时候,将HttpSession属性都添加到model中 
spring.freemarker.expose-session-attributes=false
# 是否优先从文件系统加载template,以支持热加载,默认为true
spring.freemarker.prefer-file-system-access=true
# 设置模板文件的后缀名
spring.freemarker.suffix=.ftl
# 设定模板文件的路径,多个的话以逗号隔开;下述为默认配置
spring.freemarker.template-loader-path=classpath:/templates
3、编写模板文件

首先来编写index.ftl文件:

<!DOCTYPE html>
<html>
	<head>
		<title>learn-springboot-freemarker</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</head>
	<body>
		<h4>当前时间:${.now?string("yyyy-MM-dd HH:mm:ss") }</h4>
		<hr/>
		<h4>集合遍历:</h4>
		<#list list as item>
			<h5>${item }</h5>
		</#list>
		<hr/>
		<h4>if和elseif语句</h4>
		<#if user=="张三">
			<h5>Hello zhangsan!!!</h5>
		<#elseif user="李四">
			<h5>Hello lisi!!!</h5>
		</#if>
		<hr/>
		<h4>include的使用</h4>
		<#include "include.ftl">
		<hr/>
		<h4>Date的使用</h4>
		<h5>${date?date}</h5>
		<h5>${date?time}</h5>
		<h5>${date?string("yyyy-MM-dd HH:mm:ss")}</h5>
		<hr/>
		<h4>Switch的使用</h4>
		<#switch str>
			<#case "zhangsan">
				<h5>Hi,zhangsan</h5>
				<#break>
			<#case "lisi">
				<h5>Hi,lisi</h5>
				<#break>
			<#default>
				<h5>Hi,the world!!!</h5>
		</#switch>
</html>

编写外边要引入的模板文件include.ftl:

<h5>来自于别的文件</h5>
4、Controller层
@Controller
public class FreemarkerController {

	@RequestMapping("/index")
	public String loadIndexPage(Model model) {
		List<String> list = new ArrayList<String>();
		list.add("字段0");
		list.add("字段1");
		model.addAttribute("list", list);
		String user = "李四";
		model.addAttribute("user", user);
		model.addAttribute("date", new Date());
		model.addAttribute("str", "lisi");
		return "index";
	}
}

结束以上的操作以后,启动服务,运行结果如下:
在这里插入图片描述

参考文章:
https://blog.csdn.net/u011197448/article/details/83901306
Freemarker在线手册

发布了66 篇原创文章 · 获赞 6 · 访问量 9412

猜你喜欢

转载自blog.csdn.net/qgnczmnmn/article/details/103460592