admin 管理员组

文章数量: 887021


2024年2月27日发(作者:nexus3上传本地jar)

thymeleaf基本语法

一、什么是thymeleaf

Thymeleaf是一种用于Java应用程序的模板引擎,它能够在Web和非Web环境下进行工作。它的目标是提供一种自然模板的方法,能够在浏览器中修改和预览这些模板。

二、thymeleaf的特点

1. 自然模板:thymeleaf模板的语法规则类似于HTML,非常自然易学。即使不了解模板引擎的知识,也能很快上手。

2. 支持多个后端:thymeleaf可以作为Spring MVC、Spring WebFlux、Java

Servlet等后端框架的模板引擎。

3. 强大的表达式引擎:thymeleaf使用OGNL、Spring EL等表达式引擎,可以在模板中引用和操作数据。

4. 可扩展性:thymeleaf允许自定义标签和函数,方便开发者根据项目需求扩展功能。

三、thymeleaf的语法

1. 基本标签

• th:block:用于创建一个块元素,可以包含其他thymeleaf标签。

• th:text:用于输出文本内容。

• th:utext:用于输出不经过HTML转义的文本内容。

• th:if:执行条件判断,根据条件的真假来决定是否渲染某个元素。

• th:unless:和th:if相反,当条件为假时才渲染某个元素。

• th:switch:类似于Java的switch语句,根据条件的值来渲染不同的元素。

• th:case:用于定义th:switch的一个分支。

• th:each:用于循环渲染集合中的元素。

2. 表达式

thymeleaf的模板中可以使用多种表达式。以下是一些常用的表达式:

变量表达式:${variable},用于输出变量的值。

选择表达式:*{selectionExpression},用于从内联对象中选择属性。

消息表达式:#{i18nKey},用于国际化消息的输出。

链接表达式:@{url},用于生成URL链接。

片段表达式:~{fragment},用于生成片段标识,用于以后在模板中引用。

3. 片段

thymeleaf支持模板之间的引用和使用。使用th:fragment可以定义一个片段,然后使用th:include引入该片段。

...

模板引用示例

...

...

这是一个被引用的片段

...

在其他模板中可以使用以下方式引入该片段:

4. 引入静态资源

thymeleaf提供了一种简便的方式来引入静态资源,例如CSS文件、JavaScript文件、图片等。

四、使用thymeleaf渲染页面

基本语法已经介绍完毕,下面我们来看一个实际的例子,使用thymeleaf来渲染一个简单的页面。

首先,我们需要在项目中引入thymeleaf的依赖:

spring-boot-starter-thymeleaf

然后,在Spring Boot的配置文件中配置thymeleaf的相关属性:

=classpath:/templates/

=.html

=false

最后,创建一个HTML模板文件并使用thymeleaf语法进行渲染。

Thymeleaf Demo

在Java代码中,我们可以使用ModelAndView对象来设置模板和模板数据:

@Controller

public class DemoController {

@GetMapping("/")

public ModelAndView renderDemoPage(ModelAndView modelAndView) {

List names = new ArrayList<>();

("Alice");

("Bob");

("Charlie");

ect("names", names);

wName("demo");

// 指定模板名称

return modelAndView;

}

}

至此,我们已经完成了一个简单的thymeleaf页面的渲染。

五、总结

本文介绍了thymeleaf的基本语法和用法,包括标签、表达式、片段引用以及渲染页面的实例等。通过学习和使用thymeleaf,我们能够更方便地开发和管理Java应用程序的模板。同时,thymeleaf还具有丰富的特性和扩展性,使得它成为一个十分强大的模板引擎工具。

更多关于thymeleaf的用法和详细信息,请参考官方文档:


本文标签: 模板 用于 使用 渲染