前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html

今天我们主要来看看 Thymeleaf 在 Spring Boot 中的整合!

这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码 获取这个系列课程的完整源码。或者点此链接直接下载完整源码

Thymeleaf 简介

Spring Boot 2主要支持页面模板是 Thymeleaf 和 Freemarker ,当然,作为 Java 最最基本的页面模板 Jsp ,Spring Boot 也是支持的,只是使用比较麻烦。

Thymeleaf 作为新一代 Java 模板引擎,它的功能与 Velocity、FreeMarker 等传统 Java 模板引擎比较类似,但是Thymeleaf  模板后缀为 .html,可以直接被浏览器打开,因此,开发时非常方便。

它既可以让前端工程师在浏览器中直接打开查看样式,也可以让后端工程师结合真实数据查看显示效果,同时,SpringBoot 提供了 Thymeleaf 自动化配置解决方案,因此在 SpringBoot 中使用 Thymeleaf 非常方便。

事实上, Thymeleaf 除了展示基本的 HTML ,进行页面渲染之外,也可以作为一个 HTML 片段进行渲染,例如我们在做邮件发送时,可以使用 Thymeleaf 作为邮件发送模板。

整合

新项目整合 Thymeleaf 非常容易,只需要创建项目时勾上 Thymeleaf 即可,这里就不说了。

下面说说怎么在现有的项目中手动整合Thymeleaf:

1、在pom.xml 增加依赖如下

        <!-- 引入 redis 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>1.5.7.RELEASE</version>
</dependency>

2、application.properties 文件增加Thymeleaf 相关配置

############################################################
#
# thymeleaf 模板
#
############################################################
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html
# 关闭缓存
spring.thymeleaf.cache=false
spring.thymeleaf.prefix 指定模板页面的路径

3、增加前台页面

在resource\templates\thymeleaf  目录下增加index.html 页面

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>
Thymeleaf模板引擎
<h1 th:text="${name}">hello Spring Boot~~~~~~~</h1>
</body>
</html>

th:text 就是Thymeleaf的标签,用于处理标签体的文本内容。

其他更对的标签及用法,我会在下一篇文章中介绍。

注意:实际开发项目直接放resource\templates目录下就行,不需要加Thymeleaf 目录。我这里是有验证其他模板引擎框架,所以做了个目录区分。

4、创建 Controller

接下来我们就可以创建 Controller 了,实际上引入 Thymeleaf 依赖之后,我们可以不做任何配置。新建的ThymeleafController如下:

package com.weiz.controller;

import java.util.ArrayList;
import java.util.Date;
import java.util.List; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import com.weiz.pojo.User; @Controller
@RequestMapping("th")
public class ThymeleafController { @RequestMapping("/index")
public String index(ModelMap map) {
map.addAttribute("name", "thymeleaf-index");
return "thymeleaf/index";
}
}

在ThymeleafController 中返回逻辑视图名,逻辑视图名为 index ,意思我们需要在 resources/templates/thymeleaf 目录下提供一个名为 index.html 的 Thymeleaf 模板文件。

注意:实际开发项目直接放resource\templates目录下就行,不需要加Thymeleaf 目录。我这里是有验证其他模板引擎框架,所以做了个目录区分。

5、运行效果

在浏览器中输入:http://localhost:8080/th/index 查看页面返回结果。

总结

主要向大家简单介绍了 Spring Boot 整合 Thymeleaf,还是比较简单的。下一篇文章会给大家详细介绍Thymeleaf的常用标签和用法。大家也可以阅读 Thymeleaf 官方文档学习 Thymeleaf 的更多用法。

这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码 获取这个系列课程的完整源码。

 

SpringBoot入门系列(四)整合模板引擎Thymeleaf的更多相关文章

  1. SpringBoot入门:新一代Java模板引擎Thymeleaf(理论)

    Spring Boot 提供了spring-boot-starter-web来为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及SpringMVC的 ...

  2. SpringBoot入门:新一代Java模板引擎Thymeleaf(实践)

    菜鸟教程:http://www.runoob.com/ http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js http://apps.b ...

  3. Spring Boot (四)模板引擎Thymeleaf集成

    一.Thymeleaf介绍 Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用.它更适合在基于MVC的Web应用程序的视图层提供XHTM ...

  4. Spring Boot整合模板引擎thymeleaf

    项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --> <dependency> <groupId>org.springframew ...

  5. 【SpringBoot】常用Starter介绍和整合模板引擎Freemaker、thymeleaf

    ========7.SpringBoot常用Starter介绍和整合模板引擎Freemaker.thymeleaf ========================= 1.SpringBoot Sta ...

  6. SpringBoot常用Starter介绍和整合模板引擎Freemaker、thymeleaf 4节课

    1.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...

  7. SpringBoot入门系列(十一)统一异常处理的实现

    前面介绍了Spring Boot 如何整合定时任务已经Spring Boot 如何创建异步任务和定时任务.不清楚的朋友可以看看之前的文章:<Spring Boot 入门系列文章> 接下来主 ...

  8. springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息

    1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...

  9. SpringBoot:模板引擎 thymeleaf、ContentNegotiatingViewResolver、格式化转换器

    目录 模板引擎 thymeleaf ContentNegotiatingViewResolver 格式化转换器 模板引擎 thymeleaf.ContentNegotiatingViewResolve ...

随机推荐

  1. Tript协议|伯尔尼公约|著作权|立法宗旨|自动保护|著作权集体管理|

    知识产权 国际条约: Tript协议是国际性公约,<与贸易有关的知识产权协定>(英文:Agreement on Trade-Related Aspects of Intellectual ...

  2. 吴裕雄--天生自然python学习笔记:python文档操作自动查找替换 Word 文件中的指定文字

    Win32com 组件提供了自动替换 Word 文件中指定文字 的功能 .在使用“查找” 功能替换文字之前,可先清除源文字及目标文字的格式,以免影响替换效果,语法为 : 替换 Word 文件特定文字的 ...

  3. EmguCV常用函数总结

    Emgucv常用函数总结: 读取图片 Mat SCr = new Mat(Form1.Path, Emgu.CV.CvEnum.LoadImageType.AnyColor); //根据路径创建指定的 ...

  4. docker 不同引擎导致历史垃圾镜像无法自动清除,致硬盘空间报警

    查看硬盘占用大户是/var/lib/docker/vfs/dir 直觉是images文件,历史原因累积了大量的image docker rmi 清除掉不用的image文件 可用空间有提升但提升不大 / ...

  5. ArcGIS Server10.2忘记密码怎么办?重置ArcGIS Server Manager密码

    忘记了ArcGIS Server Manager的密码不要慌张,下面简单的几步就可以重置密码. 第一步:找到ArcGIS Server的安装目录,然后找到..\ArcGIS\Server\tools\ ...

  6. 【转】mac os x配置adb命令的方法,苹果电脑设置adb命令的方法

    http://www.myexception.cn/operating-system/1636963.html 步骤如下: 1. 启动终端Terminal (如果当前用户文件夹下已有.bash_pro ...

  7. [LC] 380. Insert Delete GetRandom O(1)

    Design a data structure that supports all following operations in average O(1) time. insert(val): In ...

  8. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-跳过测试用例(6)

    初始化.跳过测试用例 # test_class_6.py import unittest from mock import mock from day_20200208_mooc.base.inter ...

  9. Proxmox如何进入单人维护模式(重置root密码)

    官网连接:https://pve.proxmox.com/wiki/Root_Password_Reset Root Password Reset     Contents [hide] 1Reset ...

  10. unittest(20)- 自动更新表格中数据(5)

    # 1. get_data.py from tools import project_path import pandas as pd class GetData: Cookie = None Add ...