欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【SpringBoot】SpringBoot整合Freemarker

程序员文章站 2022-07-12 22:39:57
...

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";
	}
}

结束以上的操作以后,启动服务,运行结果如下:
【SpringBoot】SpringBoot整合Freemarker

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

相关标签: SpringBoot