基于 Spring Boot 的 SSM 环境整合八:使用freemarker模板引擎

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xz2001/article/details/84711053

前文整合了thymeleaf 模板引擎,在使用中确实不太方便,于是研究了freemarker模板引擎,以下将两者做个简介的比对:

1、thymeleaf是springboot官方推荐的模板引擎,而freemarker不是。

2、thymeleaf要求模板必须符合xml规范,使用起来非常不方便。freemarker则自由很多。

3、thymeleaf模板文件实际上是静态html嵌入了标签属性,使用浏览器可以直接打开模板文件,便于前后端分离式开发和联调。

简介的说,如果项目较大,前、后台分离式开发且比较规范,建议使用thymeleaf,否则使用freemarker更为方便。

1、修改pom.xml

注释原 thymeleaf引用,添加freemarker引用:

    <!-- thymeleaf 模板
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency> -->
    <!-- freemarker 模板 -->
    <dependency>
	  <groupId>org.springframework.boot</groupId>
	  <artifactId>spring-boot-starter-freemarker</artifactId>
	</dependency>

记得执行Maven clear和Maven install。

2、修改springboot 配置文件

修改application.properties文件,注释thymeleaf配置,添加freemarker配置:

## -----------------------------------------------------------------
## thymeleaf 模板配置
## -----------------------------------------------------------------
## 关闭thymeleaf缓存,仅在开发时使用
#spring.thymeleaf.cache=false
## 检查模板是否存在,然后再呈现
#spring.thymeleaf.check-template-location=true
## Content-Type值
#spring.thymeleaf.content-type=text/html
## 模板编码
#spring.thymeleaf.encoding=UTF-8
## 在构建URL时预先查看名称的前缀
#spring.thymeleaf.prefix=classpath:/templates/
## 在构建URL时添加到视图名称后的后缀(默认值:.html)
#spring.thymeleaf.suffix=.html

# -----------------------------------------------------------------
# freemarker 模板配置
# -----------------------------------------------------------------
# 模板文件后缀名
spring.freemarker.suffix=.html
spring.freemarker.content-type=text/html
spring.freemarker.enabled=true
# 是否开启缓存
spring.freemarker.cache=false
# 模板加载路径 按需配置
spring.freemarker.template-loader-path=classpath:/templates/
# 编码格式
spring.freemarker.charset=UTF-8

3、修改demo 视图

修改前文的demo视图文件如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8" />
    <title>demo - index</title>
</head>
<body>
	<h1>demo-index.html - spring boot demo page</h1>
	<br/>用户名称:${username}
	<br/>
   	<br/>返回结果:${result}
</body>
</html>

注意一下,我把<meta ./>改为<meta>,<br/>改为<br>。

启动应用,访问浏览器如下:

猜你喜欢

转载自blog.csdn.net/xz2001/article/details/84711053