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

运行:

 


相关文章
Springboot之Thymeleaf 表单提交
Springboot之Thymeleaf 表单提交
793 0
|
XML 缓存 前端开发
Thymeleaf一篇就够了
Thymeleaf是Springboot官方支持的模板引擎,有着动静分离等独有特点,通过本文简单学习下吧!
63669 24
Thymeleaf一篇就够了
|
移动开发 前端开发 JavaScript
SpringBoot3 整合Thymeleaf 模板引擎
Thymeleaf 是一个基于 Java 的现代模板引擎,支持 HTML 原型,文件后缀为 .html,可直接在浏览器中查看静态效果。它与 Spring Boot 完美整合,默认配置即可使用,无需额外视图解析器设置。Thymeleaf 支持多种表达式(如变量、链接、国际化等)和 th 属性(如 th:text、th:if 等),适用于 Web 和非 Web 应用开发。通过 th:fragment、th:insert、th:replace 和 th:include 等属性,可以抽取和复用公共页面片段,并支持参数传递。
1708 12
|
容器
Thymeleaf内置对象与工具类【详解版】
Thymeleaf 3.0 提供了七大内置对象,包括${#ctx}(上下文对象)、${#param}(参数变量)、${#locale}(区域语言设置)、${#request}(HttpServletRequest)、${#response}(HttpServletResponse)、${#session}(HttpSession)和${#servletContext}(ServletContext)。示例代码展示了如何在后端传递不同对象容器中的参数到Thymeleaf模板。
606 0
|
JavaScript 测试技术
vue配置生产环境.env.production、测试环境.env.development
该文章介绍了如何在Vue项目中配置和使用不同的环境变量文件(.env、.env.production、.env.development)以适应开发、测试和生产环境,并通过修改`package.json`中的scripts来实现不同环境的打包。
3693 0
vue配置生产环境.env.production、测试环境.env.development
|
XML 存储 JSON
Spring Cloud Alibaba Sentinel 整合 nacos 进行规则持久化
Spring Cloud Alibaba Sentinel 整合 nacos 进行规则持久化
3716 0
Spring Cloud Alibaba Sentinel 整合 nacos 进行规则持久化
|
网络协议 关系型数据库 MySQL
MySQL报ERROR 2002 (HY000)解决
通过上述步骤,可以有效地解决MySQL连接时出现的 `ERROR 2002 (HY000)`错误。这些步骤包括检查和启动MySQL服务、配置文件检查、套接字文件检查、日志文件分析、进程检查、防火墙设置、客户端配置和最终的MySQL重装。确保每个步骤都按顺序执行,有助于快速定位和解决问题,使MySQL服务器恢复正常运行。
9336 0
|
前端开发 JavaScript 索引
Thymeleaf基础语法讲解【详解版】
该内容介绍了Thymeleaf模板引擎的一些基本表达式和语法。主要包括: 1. 变量表达式 `${}` 和 `*{}`,用于获取对象属性,`*{}` 需先通过 `th:object` 指定对象。 2. 链接表达式 `@{}`,用于构建应用路径并引入静态资源,但可能暴露版本号带来安全问题。 3. 迭代循环使用 `th:each`,可获取状态变量如索引、序号、奇偶性等。 4. 条件判断用 `th:if` 和 `th:unless`,基于不同类型的值进行逻辑判断。 示例代码包括了遍历集合、设置表单输入值、条件渲染等场景。
683 0
|
JavaScript Java Maven
理解固化的Maven依赖:spring-boot-starter-parent 与 spring-boot-dependencies
理解固化的Maven依赖:spring-boot-starter-parent 与 spring-boot-dependencies
6905 1
|
监控 Dubbo Java
超详细的Sentinel入门
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
超详细的Sentinel入门

热门文章

最新文章