springboot模板引擎thymeleaf(一)

本文详细介绍了Thymeleaf模板引擎的基本用法,包括配置、语法解析及国际化等,通过实例展示如何在HTML中使用Thymeleaf进行数据绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多初学者可能都不知道怎么读,翻译软件是“ saimu leifu ”,其实是错的

读音的地址:https://fanyi.baidu.com/?aldtype=23#en/zh/thymeleaf

官网中有正确的读音:https://www.thymeleaf.org/

正确读音:/ˈtaɪmˌlɪːf/

In case you are unsure, 'Thymeleaf' is pronounced like this: /ˈtaɪmˌlɪːf/

å¨è¿éæå¥å¾çæè¿°

1.配置maven和application.yml :https://blog.youkuaiyun.com/weixin_43184769/article/details/83212042
2.在html中要使用Thymeleaf需要先导入:

å¨è¿éæå¥å¾çæè¿°

标准表达式语法:


1.变量表达式:
Thymeleaf中的变量表达式和el表达式语法和用途都很类似,例如后台传来一个User对象,user中有name和age属性。在页面中获取的表达式为 ${user.name}。需要注意的是$表达式只能写在th标签内部,不然不会生效。

<a th:text="${user.name}"></a>


如果按照el表达式的写法:<a value="${user.name}"></a>
则不会生效,运行时还会报错。

2.选择(星号)表达式:
它和变量表达式用法类似,它是内层对外层对象的引用。
举个栗子:后台传来一个User对象,user中有name和age属性

    <div th:object="${user}">  
      <span th:text="*{name}"> </span>  
     <span th:text="*{age}"> </span>  
    </div> 

它和下图的写法效果是一样的

    <div >  
      <span th:text="${user.name}"> </span>  
      <span th:text="${user.age}"> </span>  
    </div> 

注意,如何没有与th:object结合使用,*{}与${}效果一样,因为其范围自动扩展到context域中。

3.文字国际化表达式
国际化表达式可以从外部的.properties文件中获得文字信息,还可以带参数。Springboot默认读取的是resource/目录下的message.properties文件。

我们首先创建一个messages_US.properties文件在Resource的根目录下。
接着在application.yml中配置spring.message.basename=messages_US就是我们的配置文件名。
在创建好的配置文件中输入test.hello=hello world!
创建一个html文件,并在Controller中设置好映射,在HTML中写入
<h1 th:text="#{test.hello}"></h1>
运行时就会在页面中输出Hello world!
语法格式: #{key}
4.URL表达式:
URL表达式指的是把一个有用的上下文或会话信息添加到URL,这个过程经常被叫做URL重写。
例如:

<!— 绝对路径 —>
<!-- 打开百度 -->
<a href="http://www.baidu.com">普通设置方式</a>
<a th:href="@{http://www.baidu.com}">使用URL表达式打开百度</a>

<!-- 相对路径 -->
<a th:href="@{/index}"> 打开Controller中映射好的路径</a>
<a th:href="@{/index(name=${user.m=name})}"> 括号中为参数,多参数用逗号隔开</a>


格式:@{ },注意:表达式只能在th标签中使用,带参数的表达式本质就是地址栏传参,和普通的localhost:8080/index.html?name=tom相同
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值