【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";
}
}
结束以上的操作以后,启动服务,运行结果如下:
参考文章:
https://blog.csdn.net/u011197448/article/details/83901306
Freemarker在线手册
下一篇: GO语言入门 - 开发环境搭建
推荐阅读
-
SpringBoot 源码解析 (三)----- Spring Boot 精髓:启动时初始化数据
-
springBoot2 基础语法
-
SpringBoot系列教程JPA之基础环境搭建的方法
-
SpringBoot轻松整合MongoDB的全过程记录
-
springboot、mybatisplus框架整合搭建
-
springboot整合MybatisPlus基本使用
-
SpringBoot与MybatisPlus1-搭建mybatisplus
-
大话-springboot 自动装配那些事
-
使用springboot实现文件下载时文件名中的中文变成下划线
-
【SpringBoot】解决Java下载文件时文件名中的中文变成下划线的问题