Thymeleaf 是一个页面模板引擎(独立的)(spring boot推荐的模板引擎),可以完全替代 JSP ,使用html+thymeleaf的方式可以在 静态页面中加入动态内容。本文抛砖引玉,讲解spring boot中集成thymeleaf的基本步骤,以及thymeleaf基本使用(附件中附有后端和前端的源码文件)
特点:
1.页面内容动静分离 前端后端工作分离
2.与spring boot集成较好:Spring Boot默认就是使用thymeleaf模板引擎的,如果使用SpringBoot框架开发,使用thymeleaf可以省去了很多繁琐的配置步骤
3.在有网络和无网络的环境下皆可运行
4.如果要让页面改动及时生效(不重启服务器),需要在spring boot配置文件里关闭thymeleaf的缓存
spring.thymeleaf.cache=false
原理:通过html属性嵌入thymeleaf的动态内容,浏览器会自动忽略不认识的属性,但是不能自动忽略不认识的标签(元素)
注意:thymeleaf会对html标签严格检查,虽然可以关闭语法严格检查,但最好还是养成好习惯,比如标签一定要结束(不管是有体标签还是无体标签)
Spring boot中集成thymeleaf:
1.引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2.在resources下创建一个templates目录,用于放置所有动态页面(html+thymeleaf)
3.在创建的html中引入thymeleaf命名空间
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
常用表达式
1)变量表达式,从作用域里取值(与EL类似)
${msg}
如果后台没有传过来数据,那么将什么都不显示
2)选择表达式,通常同变量表达式配合使用
*{}
选择表达式计算的是指定的对象(th:object属性绑定的对象(预定义)),而不是整个环境变量映射。
比如:<div th:object="${myUser1}"> <!--来自于后台作用域对象-->
<!--以下是myUser1的两个属性-->
id:<span th:text="*{userId}"></span><br/>
userName:<span th:text="*{userName}"></span>
</div>
3) URL表达式:@{}(类似于JSTL中的<c:url/>)
@{/disaplayTable(paramId=${paramId})}
常用属性
th:text=
th:object=
th:href=
th:action=
th:if=
th:each="user : ${userModel.userList}"
th:replace=
1)th:action
定义后台控制其路径,类似标签的action属性
<form id=”login-form” th:action = “@{/login}”>...</form>
2)th:each迭代器
<table>
<!--对象遍历,功能类似jstl中的foreach标签-->
<tr th:each="oneUser:${userList}">
<td th:text="${oneUser.userId}"></td>
<td th:text="${oneUser.userName}"></td>
</tr>
</table>
3)th:field
常用于表单字段的绑定.通常与th:object一起使用.属性绑定
<form th:action="@{/helloThymeleaf8}" th:object="${user}" method="post" th:method="post">
<input type="text" th:field="*{userId}"/>
<input type="text" th:field="*{userName}"/>
<input type="submit" value="提交"/>
</form>
4)th:href(之前已经演示过了)
定义超链接,类似标签的href属性,value值的形式为@{/logout}
<a th:href="@{/logout}" class="signOut"></a>
5)th:Object(之前演示过了)
用于表单数据对象的绑定,将表单绑定到后台Conroller的一个实体对象参数(注意名字要对应上)。常与th:field一起使用进行表单数据的绑定
<form th:action="@{/hello/helloHtml5}" th:object="${user}" method="post" th:method="post">
姓名:<input type="text" th:field="*{name}"/>
年龄:<input type="text" th:field="*{age}"/>
<input type="submit" value="提交"/>
</form>
6)th:text文本显示(之前在表达式中演示过了)
<td class="text" th:text="${username}" ></td>
7)th:src外部资源的引入
类似于script标签的src属性,常与@{}一起使用
<script th:src="@{/resources/js/jquery/jquery.json-2.4.min.js}"
相关推荐
在本例中,我们需要`spring-boot-starter-thymeleaf`来引入Thymeleaf的相关依赖。 3. **Thymeleaf模板**:Thymeleaf模板文件通常以`.html`结尾,但在解析时会作为模板处理。Thymeleaf支持条件语句、循环、表达式等...
这个 Demo 资源应该包含了所有必要的文件和代码,帮助你快速上手 Spring Boot 和 Thymeleaf 的整合。通过学习和实践这个示例,你可以深入理解这两个工具如何协同工作,创建动态、响应式的 web 应用。
### Spring Boot框架入门知识点详解 #### 一、Spring Boot简介 ...通过以上知识点的学习,开发者不仅可以快速掌握Spring Boot的基本用法,还能够深入了解其背后的设计理念和技术细节,从而更好地应用于实际项目中。
《Spring Boot 中文指南》是针对Java开发人员的一份详细教程,主要讲解如何使用Spring Boot框架构建高效、简洁的应用...指南中通常会包含详细步骤、示例代码和最佳实践,帮助开发者快速上手并掌握Spring Boot的精髓。
在当前的互联网开发中,Spring Boot 和 Thymeleaf 的组合是构建高效、简洁后端和前端应用的常见选择。本项目以“图书管理系统”为例,详细介绍了如何利用这两种技术实现一个具备基本功能的系统,包括用户登录以及对...
在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目需求的各种组件和积累各种解决方案。基于这样的背景下,我开源了本示例项目,方便大家快速上手Spring Boot、...
这个系统是参照b站up主李仁密,自己在期末课程设计课上写的javaee课设,将他视频里的JPA框架改为了Mybatis持久层,对于新手上手难度适中,对spring注解以及xml文件开发有很大的帮助,大家可以参考,压缩文件里有源码...
**Spring Boot 入门与实战** Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在...通过上述知识点,Spring Boot 初学者可以从基础到实践逐步掌握Spring Boot 的核心概念和技术,从而在实际项目中灵活运用。
《Spring Boot实战》是由丁雪丰翻译的...总的来说,《Spring Boot实战》是一本非常适合初学者和有一定经验的开发者深入理解并掌握Spring Boot的书籍,通过实践和代码示例,可以帮助读者快速上手并精通Spring Boot开发。
这些内容有助于理解Spring Boot的核心设计理念,让开发者能快速上手项目搭建。 接下来,将深入讲解Spring Boot 2中的关键组件,如Spring MVC用于构建Web应用,以及Thymeleaf、Freemarker等模板引擎的使用。此外,还...
这个项目包含了55个不同的集成示例,涵盖了Spring Boot在实际开发中的多种应用场景。通过这些示例,开发者可以逐步掌握Spring Boot的核心特性,以及如何与其他流行技术进行集成。 Spring Boot是由Pivotal团队开发的...
例如,只需要在项目中添加`spring-boot-starter-web`,就可以得到一个基本的Web应用结构,包含Spring MVC、Tomcat和相关依赖。 ### Actuator Actuator是Spring Boot用于监控和管理应用的组件,提供了一组端点...
### 轻松上手Spring Boot:打造现代微服务的实战指南 #### 一、Spring Boot简介 Spring Boot 是一个开源的 Java 基础框架,它的主要目标是简化 Spring 应用程序的搭建和配置过程。通过提供一系列的默认配置,...
在这个"spring boot DEMO"中,我们将会探索如何使用 Spring Boot 进行快速入门学习。 首先,让我们了解 Spring Boot 的核心特性: 1. **起步依赖(Starter Dependencies)**:Spring Boot 通过“起步依赖”POMs 来...
6. **Spring集成**:详细讲解Thymeleaf与Spring框架的整合,包括Spring Web MVC的使用,以及Spring Boot的支持。 7. **模板结构**:讨论如何组织模板文件,包括模板的继承、片段重用和布局。 8. **配置**:介绍...
9. **Spring Cloud**: 虽然未在标题和描述中提及,但Spring Boot 还能与Spring Cloud 结合,构建微服务架构。Spring Cloud 提供了一整套服务发现、配置中心、负载均衡、熔断器等功能,帮助快速构建分布式系统。 10....
这个"spring boot框架demo"是一个完整的、预配置的项目,方便开发者快速上手和理解Spring Boot的工作原理。 在描述中提到的"一个完整干净的spring boot架构"意味着该压缩包包含了一个标准的Spring Boot项目结构,...
在Spring Boot入门过程中,首先需要了解如何创建一个基础项目。通常,我们可以使用Spring Initializr(https://start.spring.io/)在线生成项目结构,或者通过IDEA、Eclipse等集成开发环境内置的Spring Initializr...
在描述中提到,这个项目是为学习 Spring Boot 的初学者准备的,适合中型项目,而且易于上手。这表明项目结构清晰,包含了必要的示例和文档,以便学习者能快速理解并实践 Spring Boot 的核心特性。 标签中涉及的关键...
Spring Boot是一种快速开发Java应用程序的框架,它简化了Spring应用的初始设置和配置,使得开发者可以更快地构建可运行的应用程序。...总之,这个demo是一个很好的学习资源,可以帮助开发者快速上手Spring Boot开发。