Thymeleaf的常用语法

🌟 Thymeleaf的常用语法

Thymeleaf是一个Java模板引擎,用于处理HTML、XML、JavaScript、CSS等文件。它可以与Spring框架无缝集成,为Web应用程序提供优雅的模板解决方案。本文将介绍Thymeleaf的常用语法,包括th属性、表达式、内置对象、内置方法等。

🎨 th属性

Thymeleaf提供了一系列以th:开头的属性,用于在HTML标签中添加动态内容。例如:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title th:text="${title}">默认标题</title>
</head>
<body>
    <h1 th:text="${message}">默认消息</h1>
</body>
</html>

在这个例子中,th:text属性用于设置<title><h1>标签的文本内容。当Thymeleaf解析这个模板时,它会用${title}${message}表达式的值替换默认的文本。

📚 表达式

Thymeleaf支持多种表达式,用于在模板中处理数据。下面介绍几种常用的表达式。

🔢 变量表达式

变量表达式用于访问模板上下文中的变量。语法为${...},例如:

<p th:text="${user.name}">默认用户名</p>

🔗 链接表达式

链接表达式用于生成URL。语法为@{...},例如:

<a th:href="@{/login}">登录</a>

📨 消息表达式

消息表达式用于国际化支持,从资源文件中获取文本。语法为#{...},例如:

<p th:text="#{welcome.message}">默认欢迎消息</p>

📦 代码块表达式

代码块表达式用于在模板中插入一段代码。语法为[[...]](文本)和[(...)](属性),例如:

<script th:inline="javascript">
    /*<![CDATA[*/
    var message = [[${message}]];
    /*]]>*/
</script>

🎛 选择变量表达式

选择变量表达式用于根据条件选择不同的值。语法为(...)?:(...),例如:

<p th:text="${user.name} ?: '匿名用户'">默认用户名</p>

🛠 常用的内置对象

Thymeleaf提供了一些内置对象,用于在模板中处理常见任务。例如:

  • #ctx:访问上下文对象。
  • #vars:访问上下文中的所有变量。
  • #locale:访问当前区域设置。
  • #httpServletRequest:访问HttpServletRequest对象。
  • #httpSession:访问HttpSession对象。

🧪 常用的内置方法

Thymeleaf还提供了一些内置方法,用于处理字符串、日期、集合等。例如:

  • #strings:字符串处理方法,如#strings.toUpperCase(str)
  • #dates:日期处理方法,如#dates.format(date, 'yyyy-MM-dd')
  • #lists:集合处理方法,如#lists.size(list)

🧵 字符串拼接

在Thymeleaf中,可以使用+运算符进行字符串拼接。例如:

<p th:text="'Hello, ' + ${user.name} + '!'">默认问候</p>

📊 条件比较

Thymeleaf支持常见的条件比较,如==!=<>等。例如:

<div th:if="${user.age} > 18">成年用户</div>

🚦 switch多分支

Thymeleaf支持switch语句,用于多分支条件判断。例如:

<div th:switch="${user.role}">
    <p th:case="'admin'">管理员</p>
    <p th:case="'user'">普通用户</p>
    <p th:case="*">未知角色</p>
</div>

🔁 循环

Thymeleaf支持th:each属性,用于遍历集合。例如:

<ul>
    <li th:each="item : ${items}" th:text="${item.name}">默认列表项</li>
</ul>

🧮 逻辑运算符

在Thymeleaf中,我们可以使用加(+)、减(-)、乘(*)、除(/)和取余(%)等基本算术运算符来进行数值计算。这些运算符的使用方法与传统的编程语言类似,可以直接应用在表达式中,实现数值的加减乘除等操作。

例如:

<p th:text="${user.age} + 1">年龄加一</p>

👨‍💻 逻辑运算符

逻辑运算符主要用于处理布尔值之间的关系,包括与(&&)、或(||)和非(!)等操作。通过逻辑运算符,我们可以方便地实现条件判断和逻辑控制,从而使得模板的渲染更加灵活和智能。

例如:

<p th:text="${user.age} > 18 and ${user.gender} == 'male'">成年男性</p>

🧩 内联

Thymeleaf支持内联表达式,用于在文本和属性中直接插入表达式。这种表达式允许我们在文本内容和HTML属性中直接插入动态数据,从而实现页面内容的灵活定制。例如:

<p>你好,[[${user.name}]]!</p>

Thymeleaf的内联表达式为开发者提供了一种简洁、高效的方式来处理各种场景,例如文本替换、条件渲染等。

😉 总结

通过以上介绍,相信你已经对Thymeleaf的常用语法有了一定的了解。在实际项目中,你可以根据需要灵活运用这些语法,编写出优雅、高效的模板。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万猫学社

您的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值