[JAVAEE] Thymeleaf 基本语法:常用表达式
Thymeleaf 基本语法
常用表达式
- 变量表达式 ${ }
- 使用方法: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)
- 选择(星号)表达式 *{ }
- 使用方法:首先通过 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>
- 运行结果
- 消息(#)表达式 #{ }
- 主要是用于读取自定义属性文件(.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>
- 运行结果:
- 链接表达式 @{ }
- 使用方法:通过链接表达式
@{ }
直接拿到应用路径,然后拼接静态资源路径。
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>
- 片段表达式 ~{ }
- 一般和模版布局语法一起使用
[JAVAEE] Thymeleaf 基本语法:常用表达式相关推荐
- [JAVAEE] Thymeleaf 基本语法: 迭代循环
th:each 遍历集合 基本语法: <div th:each="变量名 : 集合"> <p th:text="${变量名}">< ...
- [JAVAEE] Thymeleaf 基本语法: form相关标签
th:action 指定表单提交地址 th:value 给value属性赋值 th:field 能自动生成id.name和value属性 form表单示例 运行结果 更改数据 点击保存 控制器代码:T ...
- Thymeleaf基础语法
Thymeleaf基础语法 今天学习一下Thymeleaf的基础语法. 1-引入Thymeleaf 首先,将view层页面中的html标签进行修改,然后在View层页面文件的其它标签里使用th:*动态 ...
- Thymeleaf的语法规则
目录 标准变量表达式${} 介绍 案例:标准变量表达式显示实体对象中的属性 选择变量表达式*{} 介绍 案例:选择变量表达式显示实体对象中的属性 案例:选择变量表达式显示实体对象中的属性 URL表达式 ...
- wxWidgets:常用表达式
wxWidgets:常用表达式 wxWidgets:常用表达式 不同风味的正则表达式 转义Escapes 元语法 匹配 限制和兼容性 基本正则表达式 正则表达式字符名称 wxWidgets:常用表达式 ...
- 爬虫之xpath语法-常用节点选择语法
爬虫之xpath语法-常用节点选择语法 可以通过通配符来选取未知的html.xml的元素 1.1 选取未知节点的语法 通配符 描述 * 匹配任何元素节点. node() 匹配任何类型的节点. 1.2 ...
- 正则表达式——详情版+常用表达式
正则表达式--详情版+常用表达式 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex.regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z ...
- springboot 常用的定时任务常用表达式
一 常用表达式1:fixedRate 1.1 fixedRate这种方式 1.@Scheduled为设置定时任务周期的注解,参数常用的为两种: 第一种就是fixedRate,他表示以一种固定频率去执行 ...
- Java 正则表达式:语法讲解和常用表达式汇总
原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重. 正则表达式定义了字符串的模式: 正则表达式可以用来搜索.编辑或处理文本: 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. ...
最新文章
- Dbvis数据库连接工具将查询出数据转化为sql插入语句方法
- 来自女朋友的灵魂拷问!| 今日最佳
- Flowable 数据库表结构 ACT_HI_TASKINST
- MFC 教程【9_MFC的状态】
- 中美深度对比,资产管理行业的核心是什么?
- 深度学习 游戏关卡_强化学习的游戏关卡设计
- 学习笔记29--Apollo车辆要求及Apollo支持的传感器
- gmssl服务端和客户端程序、吉大正元身份认证网关、吉大正元SDK+USBkey 两两之间双证书双向认证数据通信测试
- 你摸透英语的16种时态了嘛
- python,检测代理ip是否有效
- 快讯分类_如何掌握Google快讯
- word操作——论文中——设置WPS奇偶页页眉内容不同和公式居中,公式的标号靠右、......
- 开始做公众号的一些方法技巧总结
- r5 3600和i7 8700k 选哪个
- 集成开发项目与开发集成项目的区别
- 生信技能树linux虚拟机,科学网—Windows10安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机 - 刘永鑫的博文...
- python 条件语句实例_详解python 条件语句和while循环的实例代码
- 计算机通过网线连接不到网络,电脑有网线连不上网怎么解决
- 那些大学熬过异地恋的人后来怎样了?
- 挂接Google翻译,下载音频