Spring Boot配置Thymeleaf(gradle)的简单使用
作者:执笔记忆的空白 发布时间:2023-04-18 07:41:42
标签:spring,boot,thymeleaf,gradle,配置,使用
最近项目用到了Spring Boot ,但是在控制器返回html视图并渲染参数的时候,存在了疑问。后面考虑用Thymeleaf
,感觉真的不错,下面分享给大家
总共四步:
jar 引入
控制器参数传递
html标签引入
Thymeleaf 缓存设置
一、相关Jar的引用
1、maven的引用方式:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、我现在的项目是用的Gradle,在build.gradle 里面的dependency加入以下配置:
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
二、Spring Boot 控制器Controller的配置,需要使用Model来进行参数传递(或者自定义Map)
@RequestMapping("/index")
public String index(Model model) {
model.addAttribute("loginName", "admin");
model.addAttribute("loginId", "27");
return "index";
}
因为Thymeleaf 默认的视图返回路径是 /src/java/resources/templates ,而且默认后缀是.html , 所以我们的页面视图就放到templates目录下
三、页面视图的配置
1、在html标签上引入 Thymeleaf 的标签库,然后参数输出就可以直接使用${} 了
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
例如:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<title>im test page</title>
</head>
<body>
loginId:<span th:text="${loginId}"></span>
loginName:<span th:text="${loginName}"></span>
</body>
</html>
最后的输出结果:
四、Thymeleaf 的缓存配置
每次更改页面,如果不配置Thymeleaf 缓存设置为false,那么每次更改html页面都需要重启页面才刷新,这肯定是我们不愿意的
那么有一个简单的办法,在我们的的基础配置文件里面加入一句配置。 例如我的是application.properties 里面加入一句:
#Thymeleaf cache set
spring.thymeleaf.cache=false
重启,配置完成
来源:https://blog.csdn.net/moneyshi/article/details/53463113


猜你喜欢
- 本文实例讲述了C#实现两接口中同名方法。分享给大家供大家参考。具体分析如下:对于一个类实现两个接口,而这两个接口又有同名方法,C#中的处理方
- mybatis自动生成代码(实体类、Dao接口等)是很成熟的了,就是使用mybatis-generator插件。 它是一个开源的插件,使用m
- 测试springboot项目出现Test Ignored今天在写springBoot项目运行测试类时出现了以下问题:Test ignored
- 开篇:我们将前面的springboot整合H2内存数据库,实现单元测试与数据库无关性提供的Restful服务注册到spring cloud的
- TimeLineStepView支持时间轴和StepView,三种布局,支持水平布局,垂直布局和自定义布局,截图如下
- RenderScript 介绍在开始之前,先看下 RenderScript 的官方介绍:RenderScript is a framewor
- 一、C++11智能指针概述在C++中,动态内存的使用时有一定的风险的,因为它没有垃圾回收机制,很容易导致忘记释放内存的问题,具体体现在异常的
- 区别一如果Mybatis Plus是扳手,那Mybatis Generator就是生产扳手的工厂。通俗来讲——MyBatis:一种操作数据库
- 其他的不多说了!我们来看看效果吧 一、实现方式一:直接引入compile方式A
- jmap命令可以打印java进程的JVM堆信息,今天在某台机器上运行该命令查看 19560进程的堆信息jmap -heap 19560出现以
- 一开始我就纳闷了,怎么调试都只是一个光溜溜的界面,右侧的工具栏都没有如图:就一个光秃秃的界面,什么都没有,这就对调试很不方便于是我就试了试各
- ListView是开发中最常用的控件了,但是总是会写重复的代码,浪费时间又没有意义。最近参考一些资料,发现一个万能ListView适配器,代
- 在Java中,线程有5中不同状态,分别是:新建(New)、就绪(Runable)、运行(Running)、阻塞(Blocked)和死亡(De
- 事件:定义了事件成员的类允许通知其他其他对象发生了特定的事情。具体的说,定义了事件成员的类能提供以下功能1.方法能登记它对事件的关注2.方法
- 背景系统: SpringBoot开发的Web应用;ORM: JPA(Hibernate)接口功能简述: 根据实体类ID到数据库中查询实体信息
- 使用filter设置要排除的URL@WebFilter(urlPatterns = "/*")@Order(value
- Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new
- 本文实例讲述了Java通过在主循环中判断Boolean来停止线程的方法。分享给大家供大家参考,具体如下:package Threads;/*
- 题目给定count=0;让5个线程并发累加到1000;思路创建一个类MyRunnable,实现Runnable(继承Thread类也可)定义
- 这篇文章主要介绍了SpringBoot实现 * 、过滤器、 * 过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考