表达式符号

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

运行:

Thymeleaf学习记录(4)--$/*/#/@语法的更多相关文章

  1. Thymeleaf学习记录(3)--语法

    语法: 标准表达式语法 简单表达: 变量表达式: ${...} 选择变量表达式: *{...} 消息表达式: #{...} 链接网址表达式: @{...} 字面 文本文字:'one text','An ...

  2. Thymeleaf学习记录(6)--迭代及条件语法

    迭代: 条件选择: IF-THEN: (if) ? (then) IF-THEN-ELSE: (if) ? (then) : (else) 默认: (value) ?: (defaultvalue) ...

  3. Thymeleaf学习记录(8)--表达式基本对象

    基础对象 #ctx:上下文对象 /* * ====================================================================== * See ja ...

  4. Thymeleaf学习记录(1)--启动模板及建立Demo

    Thymeleaf是什么? Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎.相比于JSP,Thymeleaf更简洁,渲染性能更好,维护性更好,它可以XML/XHTML/HTM ...

  5. Thymeleaf学习记录(7)--页面引入/片段引入

    1.为页面添加footer: Templates文件夹下新建HTML文件: <!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xh ...

  6. Thymeleaf学习记录(5)--运算及表单

    Thymeleaf文本及预算: 字面 文本文字:'one text','Another one!',... 号码文字:0,34,3.0,12.3,... 布尔文字:true,false 空字面: nu ...

  7. Thymeleaf学习记录(2)--自动编译设置

    了方便每次修改HTML文件都能实时刷新,做一下更改. 在application.properties文件加入以下命令: #thymeleaf start spring.thymeleaf.mode=H ...

  8. SQL入门经典(第四版)学习记录——SQL语法(二)

    一.创建表 create table 表里包含什么类型的数据 表的名称是什么 主键 列的名称是什么 每一列的数据类型是什么 每一列的长度是多少 表里哪些列可以是空的 语法: create table ...

  9. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

随机推荐

  1. Struts2运行原理

    一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端发送请求:2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤 ...

  2. 细化Azure RBAC权限

    Azure RBAC权限的细化一直是比较繁琐的事情,以下示例抛砖引玉,供大家参考 客户需求: 新用户在指定资源组下权限需求如下: 一.禁止以下权限 1. 调整虚拟机大小配置 2. 删除&停止虚 ...

  3. leetcode-733-Flood Fill

    题目描述: An image is represented by a 2-D array of integers, each integer representing the pixel value ...

  4. appium安装与部署

    前提: ①:appium属于C/S架构,代码写在Client端 ②:本章所说的部署讲的是Android设备下的Appium安装与部署 ③:Appium Client的环境是针对python3的 App ...

  5. Python文件读取和数据处理

    一.python文件读取 1.基本操作 读取文件信息时要注意文件编码,文件编码有UFT-8.ASCII或UTF-16等. 不过在python中最为常用的是UTF-8,所以如果不特别说明就默认UTF-8 ...

  6. MarkDown添加图片的三种方式

    插图最基础的格式就是: ![Alt text](图片链接 "optional title") Alt text:图片的Alt标签,用来描述图片的关键词,可以不写.最初的本意是当图片 ...

  7. 静态类和静态方法,抽象类和抽象方法,new关键字,值类型和引用类型,接口

    静态类和静态方法:静态成员是与类相关,而非实例相关:普通类中的静态成员:1.只能通过类名访问.2.静态方法中只能访问静态成员,或通过对象访问实例成员.3.多个对象共享同一个成员.静态类(一般用作工具类 ...

  8. JavaScript定时器与执行机制

    JavaScript动画中是必须使用到定时器的,这里做一个总结. var label = 'someLable'; console.time(label); console.timeEnd(label ...

  9. Java并发编程——阻塞队列BlockingQueue

    Java 并发编程系列文章 Java 并发基础——线程安全性 Java 并发编程——Callable+Future+FutureTask java 并发编程——Thread 源码重新学习 java并发 ...

  10. 模块和处理程序之通过HttpModule和HttpHandler拦截入站HTTP请求执行指定托管代码模块

    1.简介 大多数情况下,作为一个asp.net web开发对整个web应用程序的控制是十分有限的,我们的控制往往只能做到对应用程序(高层面)的基本控制.但是,很多时候,我们需要能够低级层面进行交互,例 ...