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、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目需求的各种组件和积累各种解决方案。基于这样的背景下,我开源了本示例项目,方便大家快速上手Spring Boot、...
这个系统是参照b站up主李仁密,自己在期末课程设计课上写的javaee课设,将他视频里的JPA框架改为了Mybatis持久层,对于新手上手难度适中,对spring注解以及xml文件开发有很大的帮助,大家可以参考,压缩文件里有源码...
Spring Boot学习范例 Spring Boot使用的各种示例,以最简单,最实用为标准,此开源项目中的每个示例都以最小依赖,最简单为标准,帮助初学者快速掌握Spring Boot各个组件的使用。 | | | ||推荐程序员都关注的一个...
thymeleaf └── 缓存使用 └── Ehcache └── Caffeine └── Guava Cache └── 数据库 └── Mybatis └── MySQL └── Spring其他功能 └── Spring Task └── Spring Retry └── Spring AOP └...
所有前端后台代码封装过后十分精简易上手,出错效率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 内置功能 1. 用户管理:用户是系统操作者。 2. 部门管理:配置系统组织机构。 3. 岗位管理:岗位是...
学习SpringBoot以及整合MyBatisPlus和前端框架LayUI,SpringBoot2.1.0 , MyBatisPlus3.0.6 , LayUI2.4.5 ,MySQL5.5.15, 以及SpringBoot默认支持的模板引擎Thymeleaf3.0.4,使用以上技术,了解SpringBoot怎么集成以上...
为了给初学者一些快速上手的前后端都包含的demo,特意以最简单的方式实现这个实例。 里面包含的有后端的增删改查代码以及html页面去调用接口实现前后端交互。
同时,该项目也可以作为毕业设计、课程设计或实训项目的参考,帮助学生们快速上手并深入理解Spring Boot框架的应用。总之,该篮球论坛系统项目是一个基于Spring Boot框架开发的典型网站项目,结合了前后端技术,实现...
项目采用了Spring Boot框架开发,包括了MVC架构、Spring Security安全框架、MyBatis持久层框架等技术,同时使用Thymeleaf模板引擎实现页面展示,使项目具有良好的可扩展性和稳定性。源代码结构清晰,注释丰富,方便...
该项目基于Spring Boot框架开发,采用MVC架构,前端使用Thymeleaf模板引擎和Bootstrap框架,后端使用Spring框架和MyBatis持久化框架,数据库使用MySQL。通过该项目,用户可以学习到Spring Boot框架的实际应用和开发...
Spring Boot:一个用于简化Spring应用开发的框架,可以快速构建独立的、生产级别的Spring应用。 MyBatis:一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射。 MySQL:一个流行的关系型数据库管理系统,...
该系统采用了Spring Boot框架,实现了简洁的配置和快速的开发,并采用了MVC架构,使代码结构清晰,便于维护和扩展。系统使用了MySQL作为数据库,存储了志愿者和活动的相关信息,同时还采用了Thymeleaf模板引擎进行...
基于springboot+jpa-thymeleaf的java项目,简单整合的spring boot框架,有利于快速上手,使用了由于jsp的thymeleaf,优化项目
《音乐网站》适合有基础选到微服务架构部分的小伙伴学习...本项目使用技术:Spring boot、html、css、javascript、tomcat、mysql、servlet、thymeleaf等。主要实现系统的榜单和在线播放等功能。 文件源码齐全快速上手。
可扩展性:基于Spring Boot框架,系统易于维护和扩展,可以快速适应不断变化的需求。主要功能模块包括:用户认证与授权:确保只有合法用户可以访问系统。实习生管理:允许实习生注册、编辑个人信息、上传简历、申请...
本框架简单上手,注释明了,合适新手 略:框架命名随便取的 前端: Layui 2.6.8 + thymeleaf + html + jquery 前端框架 后端: SpringBoot 2.3.5.RELEASE Mybatis-Plus 3.4.0 持久化框架 mybatis-plus-generator ...
本框架简单上手,注释明了,合适新手 略:框架命名随便取的 前端: Layui 2.6.8 + thymeleaf + html + jquery 前端框架 后端: SpringBoot 2.3.5.RELEASE Mybatis-Plus 3.4.0 持久化框架 mybatis-plus-generator ...
Spring Boot 集成 MyBatis Mybatis原理简介 官方组件包使用 XML版本 注解版本 项目源码 第三方组件包使用 集成 mybatis generator 集成通用 Mapper 插件 集成分页插件 PageHelper 项目源码 集成 MyBatis...
该项目的技术架构采用了Spring Boot框架,整合了MyBatis数据库持久化框架和Spring Security安全框架,同时使用Thymeleaf模板引擎进行前端开发。项目采用了Maven进行项目管理,通过配置文件实现了系统参数的动态管理...
基于SpringBoot + Vue的前后端分离权限管理...所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。 技术栈:使用最流行的技术SpringBoot、Shiro、Thymeleaf、Vue、Bootstrap、MyBatis。