Thymeleaf $/*/#/@语法

简介: Thymeleaf $/*/#/@语法

表达式符号

Thymeleaf对于变量的操作主要有$\*\#三种方式:

  • 变量表达式: ${...},是获取容器上下文变量的值.
  • 选择变量表达式: *{...},获取指定的对象中的变量值。如果是单独的对象,则等价于${}。
  • 消息表达式: #{...}表达式与th:text一起使用,加载数据源中的消息,用于国际化
  • 链接网址表达式: @{...},获取网址链接

1.${...}获取变量

传递单一变量

后台代码:

前台代码:

运行结果:

传递对象

后台新建User类:

 

更改Controller

 

前台取数据:

 

页面运行结果:

 

2.*{...}获取变量

变量表达式不仅可以用${...}表达式编写,还可以用于表达式*{...}。选择表达式所选择的对象是当前环境内的变量值,如果对于单一变量(非对象),则${…}*{…}完全等价。

 

3.#{...}表达式与th:text一起使用,加载数据源中的消息,用于国际化

解析程序会在/WEB-INF/templates/home.html在同一文件夹中找到.properties文件中的消息,并使用与模板相同的名称,如:

·/WEB-INF/templates/home_en.properties用于英文文本。

·/WEB-INF/templates/home_es.properties西班牙语文本。

·/WEB-INF/templates/home_pt_BR.properties用于葡萄牙语(巴西)语言文本。

·/WEB-INF/templates/home.properties对于默认文本(如果区域设置不匹配)。

4.@{...}链接的访问

链接分为绝对路径和相对路径

·绝对的URL,比如http://www.thymeleaf.org

·相对URL,可以是:

o   页面相对,像user/login.html

o   上下文相关,如/itemdetails?id=3(服务器中的上下文名称将自动添加)

o   与服务器相关,~/billing/processInvoice(允许在同一服务器中调用另一个上下文(=应用程序)中的URL)。

o   协议相对URL,如//code.jquery.com/jquery-2.0.3.min.js

绝对路径示例:

 

相对路径示例:

templates文件夹下新建page2

后台更改Controller

运行:

 


相关文章
|
运维 网络协议 数据中心
SFP 端口:连接世界的通用接口
【4月更文挑战第21天】
1197 0
SFP 端口:连接世界的通用接口
|
前端开发 JavaScript 微服务
jeecg-boot前端实现表格插槽、定制化修改
jeecg-boot前端实现表格插槽、定制化修改
|
Kubernetes 应用服务中间件 nginx
k8s ingress不生效的bug 解决了。
k8s ingress不生效的bug 解决了。
517 0
|
存储 编译器 C语言
你知道数据在内存中是如何存储的嘛?(二)
你知道数据在内存中是如何存储的嘛?(二)
604 0
|
前端开发 JavaScript 索引
Thymeleaf基础语法讲解【详解版】
该内容介绍了Thymeleaf模板引擎的一些基本表达式和语法。主要包括: 1. 变量表达式 `${}` 和 `*{}`,用于获取对象属性,`*{}` 需先通过 `th:object` 指定对象。 2. 链接表达式 `@{}`,用于构建应用路径并引入静态资源,但可能暴露版本号带来安全问题。 3. 迭代循环使用 `th:each`,可获取状态变量如索引、序号、奇偶性等。 4. 条件判断用 `th:if` 和 `th:unless`,基于不同类型的值进行逻辑判断。 示例代码包括了遍历集合、设置表单输入值、条件渲染等场景。
309 0
|
8月前
|
网络协议 关系型数据库 MySQL
MySQL报ERROR 2002 (HY000)解决
通过上述步骤,可以有效地解决MySQL连接时出现的 `ERROR 2002 (HY000)`错误。这些步骤包括检查和启动MySQL服务、配置文件检查、套接字文件检查、日志文件分析、进程检查、防火墙设置、客户端配置和最终的MySQL重装。确保每个步骤都按顺序执行,有助于快速定位和解决问题,使MySQL服务器恢复正常运行。
5805 0
|
Java 数据库连接 网络安全
已解决 IDEA Maven 项目中 “Could not find artifact“ 问题的常见情况和解决方案
已解决 IDEA Maven 项目中 “Could not find artifact“ 问题的常见情况和解决方案
13808 0
|
前端开发
react 添加、删除 cookie
react 添加、删除 cookie
139 1
|
关系型数据库 MySQL 数据库
如何检查 MySQL 中的列是否为空或 Null?
如何检查 MySQL 中的列是否为空或 Null?
223 1
如何检查 MySQL 中的列是否为空或 Null?
|
存储 缓存 算法
本地缓存Caffeine简单介绍
缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存,到客户端的页面缓存,处处都存在着缓存的身影。缓存从本质上来说,是一种空间换时间的手段,通过对数据进行一定的空间安排,使得下次进行数据访问时起到加速的效果。
1112 2
本地缓存Caffeine简单介绍