Thymeleaf 基本语法

常用表达式

  1. 变量表达式 ${ }
  • 使用方法:th:xx = “${ }” 获取对象属性值给 th:xx 。
  • 后台代码:
Student s=new Student(2019001,"小明");
model.addAttribute("stu",s);
  • 前端代码:

${stu.***} 获得stu对象属性值
th:text:文本标签,用于进行文本替换

<p th:text="${stu.id}"></p>
<p th:text="${stu.name}"></p>

补充:th:text 和 th:utext
  • th:text 不会解析html(称为被HTML转义)
  • th:utext 会解析html(称为不执行HTML转义)
  • 后台代码:
model.addAttribute("msg","<h1>hello</h1>");
  • 前端代码:
<p th:text = "${msg}" >hello</p>
<p th:utext = "${msg}" >hello</p>
  • 运行结果:

${ } 一些用法示例

字符串连接、数学运算、布尔逻辑和三目运算等。

  • 字符串连接:
    <p th:text=" '欢迎' + ${stu.name} ">hello</p>
  • 错误用法:
    <p th:text=" 欢迎 ${stu.name} ">hello</p>
  • | | 和 + 效果一样
    <p th:text=" |欢迎 ${stu.name}| ">hello</p>
  • 三目运算
    <p th:text=" '欢迎' + ${ stu.name!=null ? stu.name : 'nobody' } ">hello</p>
  • 算数运算
    <p th:text="1+3">结果1</p>
    <p th:text="9%2">结果2</p>

补充:三目运算
  • If-then-else:
    (if) ? (then) : (else)
  • If-then:
    (if) ? (then)
  • Default:
    (value) ? : (defaultvalue)

  1. 选择(星号)表达式 *{ }
  • 使用方法:首先通过 th:object 获取对象,然后使用 th:xx = “*{ }” 获取对 象属性值(*表示不用写对象名)。
  • 后台代码:
Student s=new Student(2019001,"小明");
model.addAttribute("stu",s);
  • 前端代码:
<div th:object="${stu}"><p th:text="*{id}"></p><p th:text="*{name}"></p>
</div>
  • 运行结果

  1. 消息(#)表达式 #{ }
  • 主要是用于读取自定义属性文件(.properties)中的值,常用于国际化。
    (1)在 templates 目录中新建属性文件 message.properties,并写入以下内容:
home.province=Hubei
home.city=Wuhan

(2)在 application.properties 中加入属性文件所在位置:

#指定属性文件所在位置
spring.messages.basename=templates/message

(3)页面中读取配置文件:

<p th:text="#{home.province}"></p>
<p th:text="#{home.city}"></p>
  • 运行结果:

  1. 链接表达式 @{ }
  • 使用方法:通过链接表达式 @{ } 直接拿到应用路径,然后拼接静态资源路径。

th:src 用于设置图片来源
th:attr 用于设置属性
HTML原生写法:<img src="/images/苏轼.jpg">
注:先将图片资源放在 static 的 images 目录中

<img th:src="@{/images/苏轼.jpg}"/>
另一种写法:
<img th:attr="src=@{/images/苏轼.jpg}" />

补充:如果图片没有显示,需要 build 菜单 → rebuild项目

  • th:href 用于设置超链接值(http://localhost:8080/)
    <a th:href="@{/}">首页</a>

  • 生成的url:http://localhost:8080/test1?id=2019001&name=小明
    <a th:href="@{/test1(id=${stu.id}, name=${stu.name})}">跳转</a>

  • ( 变量名=值,变量名=值 ) 括起作为url参数

  • 生成的url:http://localhost:8080/test5/2019001/小明

  • 称为:RESTful 风格请求
    <a th:href="@{/test5/{id}/{name}(id=${stu.id},name=${stu.name})}">跳转</a>


  1. 片段表达式 ~{ }
  • 一般和模版布局语法一起使用

[JAVAEE] Thymeleaf 基本语法:常用表达式相关推荐

  1. [JAVAEE] Thymeleaf 基本语法: 迭代循环

    th:each 遍历集合 基本语法: <div th:each="变量名 : 集合"> <p th:text="${变量名}">< ...

  2. [JAVAEE] Thymeleaf 基本语法: form相关标签

    th:action 指定表单提交地址 th:value 给value属性赋值 th:field 能自动生成id.name和value属性 form表单示例 运行结果 更改数据 点击保存 控制器代码:T ...

  3. Thymeleaf基础语法

    Thymeleaf基础语法 今天学习一下Thymeleaf的基础语法. 1-引入Thymeleaf 首先,将view层页面中的html标签进行修改,然后在View层页面文件的其它标签里使用th:*动态 ...

  4. Thymeleaf的语法规则

    目录 标准变量表达式${} 介绍 案例:标准变量表达式显示实体对象中的属性 选择变量表达式*{} 介绍 案例:选择变量表达式显示实体对象中的属性 案例:选择变量表达式显示实体对象中的属性 URL表达式 ...

  5. wxWidgets:常用表达式

    wxWidgets:常用表达式 wxWidgets:常用表达式 不同风味的正则表达式 转义Escapes 元语法 匹配 限制和兼容性 基本正则表达式 正则表达式字符名称 wxWidgets:常用表达式 ...

  6. 爬虫之xpath语法-常用节点选择语法

    爬虫之xpath语法-常用节点选择语法 可以通过通配符来选取未知的html.xml的元素 1.1 选取未知节点的语法 通配符 描述 * 匹配任何元素节点. node() 匹配任何类型的节点. 1.2 ...

  7. 正则表达式——详情版+常用表达式

    正则表达式--详情版+常用表达式 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex.regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z ...

  8. springboot 常用的定时任务常用表达式

    一 常用表达式1:fixedRate 1.1 fixedRate这种方式 1.@Scheduled为设置定时任务周期的注解,参数常用的为两种: 第一种就是fixedRate,他表示以一种固定频率去执行 ...

  9. Java 正则表达式:语法讲解和常用表达式汇总

    原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重. 正则表达式定义了字符串的模式: 正则表达式可以用来搜索.编辑或处理文本: 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. ...

最新文章

  1. Dbvis数据库连接工具将查询出数据转化为sql插入语句方法
  2. 来自女朋友的灵魂拷问!| 今日最佳
  3. Flowable 数据库表结构 ACT_HI_TASKINST
  4. MFC 教程【9_MFC的状态】
  5. 中美深度对比,资产管理行业的核心是什么?
  6. 深度学习 游戏关卡_强化学习的游戏关卡设计
  7. 学习笔记29--Apollo车辆要求及Apollo支持的传感器
  8. gmssl服务端和客户端程序、吉大正元身份认证网关、吉大正元SDK+USBkey 两两之间双证书双向认证数据通信测试
  9. 你摸透英语的16种时态了嘛
  10. python,检测代理ip是否有效
  11. 快讯分类_如何掌握Google快讯
  12. word操作——论文中——设置WPS奇偶页页眉内容不同和公式居中,公式的标号靠右、......
  13. 开始做公众号的一些方法技巧总结
  14. r5 3600和i7 8700k 选哪个
  15. 集成开发项目与开发集成项目的区别
  16. 生信技能树linux虚拟机,科学网—Windows10安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机 - 刘永鑫的博文...
  17. python 条件语句实例_详解python 条件语句和while循环的实例代码
  18. 计算机通过网线连接不到网络,电脑有网线连不上网怎么解决
  19. 那些大学熬过异地恋的人后来怎样了?
  20. 挂接Google翻译,下载音频

热门文章

  1. c语言中external,static关键字用法
  2. struts2 与 sping 整合 控制器中 service注入的问题
  3. 2022-2028年中国防水橡胶布行业市场发展模式及投资前景分析报告
  4. 如何kill同一个应用的所有进程
  5. 运动是性价比最高的投资
  6. glove 安装错误
  7. LeetCode简单题之将所有数字用字符替换
  8. 激光雷达与汽车技术路线
  9. MindSpore基准性能
  10. 摄像头与毫米波雷达(Radar)融合