首页 > 自考资讯 > 高考百科

Thymeleaf详细介绍(Thymeleaf 翻译)

小条 2024-10-22

Thymeleaf 是一个用于渲染XML/XHTML/HTML5 内容的模板引擎。它类似于JSP、Velocity、FreeMaker等模板引擎,也可以轻松与Spring MVC等Web框架集成。 Thymeleaf相比其他模板引擎最大的特点就是可以直接在浏览器上打开模板页面并正确显示,而无需启动Web应用程序。

Thymeleaf 简介

Thymeleaf 是新一代Java 模板引擎,支持直接在浏览器中打开的HTML 原型。目前,浏览器会忽略未定义的Thymeleaf 标签属性,并显示thymeleaf 模板的静态页面效果。在应用程序内,页面设置的标签属性会被动态替换。

Thymeleaf 的特点

动静结合:Thymeleaf可以直接使用浏览器打开查看静态页面效果,也可以通过Web应用访问查看动态页面效果。即用型:Thymeleaf 提供了Spring 标准语言以及与SpringMVC 完全集成的可选模块。这使您可以快速实现表单绑定、属性编辑器、国际化和其他功能。多种方言支持:提供Thymeleaf标准和Spring标准两种方言,您可以根据需要直接使用模板实现JSTL和OGNL表达式。开发人员还可以扩展和创建自定义方言。与Spring Boot 完全集成:Spring Boot 为Thymeleaf 提供了默认配置,同时还配置了Thymeleaf 的视图解析器,使您可以将Thymeleaf 与Spring Boot 完全集成。 Thymeleaf 通过在html 标签中添加额外的属性,提供了“模板+数据”的展示方式。

IDEA 创建的新HTML 文件如下所示:

!DOCTYPE htmlhtml lang='en'head meta charset='UTF-8' titleTitle/title/headbody/body/html 在使用Thymeleaf 之前,首先为页面的HTML 标签命名,以避免在编辑器中看到HTML。验证错误。

xmlns:th='http://www.thymeleaf.org'作为模板引擎,Thymeleaf有自己的语法规则。 Thymeleaf 语法分为两类:

标准表达式语法属性

标准表达式语法

hymeleaf 模板引擎支持多种表达式。

变量表达式:${.} 选择变量表达式:*{.} 链接表达式:@{.} 国际化表达式:#{.} 片段引用表达式:~{。这里的变量表达式类似于其他模板,可以使用表达式来实现以下功能:

使用内置基础对象检索对象属性和方法、检索内置对象属性以及调用内置对象方法。上下文对象ctx、上下文locale、请求对象HttpServletRequest、响应对象HttpServletResponse 等。使用内置工具对象,例如字符串工具对象、数字工具对象和日期工具对象。

变量表达式

th: 在对象中使用变量表达式。使用th:object 保存对象后,您可以在其后代中使用选择变量表达式(*{.}) 来检索对象的属性。这里,“*”代表一个对象。

div th:object='${session.user}' p th:text='*{userName}'userName/p/div

选择变量表达式

链接可以使用链接表达式(@{.})。链接表达式的形式结构如下:不带参数的请求:@{/xxx} 带参数的请求:@{/xxx(k1=v1,k2=v2)}。

link rel='stylesheet' th:href='@{/style.css}'/link

链接表达式

消息表达式通常用于国际场景。

th:text='#{message}'

国际化表达式

片段引用表达式用于引用模板页面中的其他模板片段。该表达式支持两种语法结构:

推荐:~{templatename:fragmentname} 支持:~{templatename:#id}templatename:模板名称,fragmentname:片段名称,Thymeleaf 通过th:fragment 语句定义代码块,即th:fragment='fragmentname'。 id:使用HTML ID 选择器时,在开头添加#。

您可以提取公共页面的片段,将它们保存到另一个页面,并使用片段表达式在其他页面中引用它们。

hymeleaf 还允许您在提取和部署公共页面片段时传递参数。

您可以通过两种方式将参数传递给引用的页面片段:

模板名称: 选择器或片段名称(参数1=参数值1,参数2=参数值2) 模板名称: 选择器或片段名称(参数值1,参数值2) 您可以使用它。这些参数。

!--使用var1和var2声明传入参数,并直接在fragment内部使用这些参数--div th:fragment='fragment-name(var1,var2)' id='fragment-id' p th:text=''parameters 1:' +$ {var1} + '---------------参数2:' + ${var2}'./p/div

片段引用表达式

到Thymeleaf 还可用:许多可以直接在HTML 标记中使用的属性。

还有许多其他属性标签,编号为:010 到69500,但我们在这里仅使用其中的几个。如果您有兴趣,请上网搜索。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢