Thymeleaf**_
Thymeleaf是一种现代的基于服务器端的Java模板引擎技术,也是一个优秀的面向Java的XML、XHTML、HTML5页面模板,它具有丰富的标签语言、函数和表达式,在使用Spring Boot框架进行页面设计时,一般会选择Thymeleaf模板
Thymeleaf语法
常用标签
在HTML页面上使用Thymeleaf标签,Thymeleaf 标签能够动态地替换掉静态内容,使页面动态展示。
为了大家更直观的认识Thymeleaf,下面展示一个在HTML文件中嵌入了Thymeleaf的页面文件,示例代码如下:
<!DOCTYPE html>
<html lang="en"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css"
media="all"
href="../../css/gtvg.css" th:href="@{/css/gtvg.css}"
/>
<title>Title</title>
</head>
<body>
<p th:text="${hello}">欢迎进入Thymeleaf的学习</p>
</body>
</html>
上述代码中,“xmlns:th=“http://www.thymeleaf.org”“
用于引入Thymeleaf模板引擎标签,使用关键字“th”标注标签是Thymeleaf模板提供的标签,其中,“th:href”用于引入外联样式文件,“th:text”用于动态显示标签文本内容。
除此之外,Thymeleaf模板提供了很多标签,接下来,通过一张表罗列Thymeleaf的常用标签
| th:标签 | 说明 |
----------
| th:insert
| 布局标签,替换内容到引入的文件 |
| th:replace | 页面片段包含(类似JSP中的include标签) |
| th:each
| 元素遍历(类似JSP中的c:forEach标签) |
| th:if
| 条件判断,如果为真 |
| th:unless
| 条件判断,如果为假 |
| th:switch
| 条件判断,进行选择性匹配 |
| th:case
| 条件判断,进行选择性匹配 |
| th:value
| 属性值修改,指定标签属性值 |
| th:href
| 用于设定链接地址 |
| th:src
| 用于设定链接地址 |
| th:text
| 用于指定标签显示的文本内容 |
标准表达式
Thymeleaf模板引擎提供了多种标准表达式语法,在正式学习之前,先通过一张表来展示其主要语法及说明
| 说明 | 表达式语法 |
| 变量表达式 | ${…} |
| 选择变量表达式 |
*{…} |
| 消息表达式 | #{…} |
| 链接URL表达式 | @{…} |
| 片段表达式 | ~{…} |
1.变量表达式 ${…}
变量表达式${…}主要用于获取上下文中的变量值,示例代码如下:
<p th:text="${title}">这是标题</p>
示例使用了Thymeleaf模板的变量表达式${…}用来动态获取P标签中的内容,如果当前程序没有启动或者当前上下文中不存在title变量,该片段会显示标签默认值“这是标题”;如果当前上下文中存在title变量并且程序已经启动,当前P标签中的默认文本内容将会被title变量的值所替换,从而达到模板引擎页面数据动态替换的效果
同时,Thymeleaf为变量所在域提供了一些内置对象,具体如下所示
#
ctx:上下文对象
#
vars:上下文变量
#
locale:上下文区域设置
#
request:(仅限Web Context)HttpServletRequest对象
#
response:(仅限Web Context)HttpServletResponse对象
#
session:(仅限Web Context)HttpSession对象
#
servletContext:(仅限Web Context)ServletContext对象
结合上述内置对象的说明,假设要在Thymeleaf模板引擎页面中动态获取当前国家信息,可以使用#locale内置对象,示例代码如下
The locale country is: <span
th:text="${#locale.country}">US</span>.
上述代码中,使用th:text="${#locale.country}"动态获取当前用户所在国家信息,其中标签内默认内容为US(美国),程序启动后通过浏览器查看当前页面时,Thymeleaf会通过浏览器语言设置来识别当前用户所在国家信息,从而实现动态替换
刚学了拉勾教育的《Java工程师高薪训练营》,看到刚学到的点就回答了。希望拉勾能给我推到想去的公司,目标:字节!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。