thymeleaf系列二 简单表达式 变量消息literals文本算术比较和条件表达式.docx
- 文档编号:28977987
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:7
- 大小:15.71KB
thymeleaf系列二 简单表达式 变量消息literals文本算术比较和条件表达式.docx
《thymeleaf系列二 简单表达式 变量消息literals文本算术比较和条件表达式.docx》由会员分享,可在线阅读,更多相关《thymeleaf系列二 简单表达式 变量消息literals文本算术比较和条件表达式.docx(7页珍藏版)》请在冰豆网上搜索。
thymeleaf系列二简单表达式变量消息literals文本算术比较和条件表达式
thymeleaf系列二简单表达式变量消息literals文本算术比较和条件表达式
1.概述
本节主要介绍thymeleaf的语法:
简单表达式。
包括以下内容:
-变量表达式:
VariableExpressions
-消息表达式:
MessageExpressions
-Literals
-文本操作符:
Textoperations
-算术表达式:
Arithmeticoperations
-比较操作符:
Comparisonsandequality
-条件操作符:
Conditionaloperators
2.例子
2.1公共类
User
publicclassUser{
privateStringname;
privatebooleanisAdmin;
privateStringother;
privateintage;
//set/get略
}12345671234567
Family
publicclassFamily{
privateUserfather;
privateListchildList;
//set/get略
}1234512345
ExpressionsCtl:
Control类
此类初始化测试类,当访问此URL,并转到expressions/simple.html。
@Controller
@RequestMapping("/expressions")
publicclassExpressionsCtl{
/**
*简单表达式
*/
@RequestMapping("/simple")
publicStringsimpleExpressions(ModelMapmap){
//变量表达式:
VariableExpressions
Useruser=newUser("simple_name");
user.setAge(newRandom().nextInt(100));
map.put("user",user);
return"expressions/simple";
}
...
}12345678910111213141516171234567891011121314151617
下面的代码都在此simple.html页面中。
2.2变量表达式(VariableExpressions)
实现功能:
简单的表达式
变量值和字符串拼接
====================变量表达式(VariableExpressions)===============================
${user.name}-->'Thenameoftheuseris'+${user.name}-->123456123456
输出:
“–>”的左边是语法,右边是对应的输出
====================变量表达式(VariableExpressions)===============================
${user.name}-->simple_name
'Thenameoftheuseris'+${user.name}-->Thenameoftheuserissimple_name12341234
2.3消息表达式:
MessageExpressions
实现功能:
直接从属性文件中获取值
从属性文件中获取值,并替换占位符#{home.welcome}-->Welcometoourgrocerystore!
#{home.welcome.replace(${user.name})}-->123456123456
输出:
“–>”的左边是语法,右边是对应的输出
=====================消息表达式:
MessageExpressions=================================
#{home.welcome}-->welcomethymeleaf
#{home.welcome.replace(${user.name})}-->welcomethymeleaf,simple_name!
123123
2.4Literals
实现功能:
文本Textliterals
数字Numberliterals
布尔值
Null值
==========================Literals=======================================
Nowyouarelookingatatemplatefile.仅仅输出数字th:
text="2013"-->1492.
数字计算th:
text="2013+2"-->1494.
${user.isAdmin()}==false-->false${user.other}==null-->null
1234567891011121314151612345678910111213141516
输出:
“–>”的左边是语法,右边是对应的输出
==========================Literals=======================================
Nowyouarelookingataworkingwebapplication.
仅仅输出数字th:
text="2013"-->2013.
数字计算th:
text="2013+2"-->2015.
${user.isAdmin()}==false-->false
${user.other}==null-->null123456123456
2.5文本操作符:
Textoperations
实现功能:
+:
字符串拼接字体串
简化字符中拼接操作:
Literalsubstitutions(使用”|”包围字符串,不需要对字符串使用”’”)
'Thenameoftheuseris'+${user.name}+'_'+${user.age}-->
|Welcometoourapplication,${user.name}!
|-->
等价于这条语句:
'Welcometoourapplication,'+${user.name}+'!
'-->
12345671234567
输出:
“–>”的左边是语法,右边是对应的输出
==========================文本操作符:
Textoperations:
==================================
'Thenameoftheuseris'+${user.name}+'_'+${user.age}-->Thenameoftheuserissimple_name_52
|Welcometoourapplication,${user.name}!
|-->Welcometoourapplication,simple_name!
等价于这条语句:
'Welcometoourapplication,'+${user.name}+'!
'-->Welcometoourapplication,simple_name!
1234512345
2.6算术表达式:
Arithmeticoperations
实现功能:
二进制运算符:
Binaryoperators:
+,-,*,/,%
Booleanoperations:
true,false,!
not
Binaryoperators:
and,or
${user.age}%2==0-->true-->
!
(${user.age}%2==0-->(${user.age}%2==0)andtrue-->
1234567891012345678910
输出:
“–>”的左边是语法,右边是对应的输出
==========================算术表达式:
Arithmeticoperations==================================
${user.age}%2==0-->true
true-->true
!
(${user.age}%2==0-->false
(${user.age}%2==0)andtrue-->true1234512345
2.7比较操作符:
Comparisonsandequality
实现功能:
比较符号Comparators:
>,=,
Equalityoperators:
==,!
=(eq,ne)
==========================比较操作符:
Comparisonsandequality==================================
=,
${user.age}>18-->大人${user.age}!
=18-->大人_no_equality123456123456
输出:
“–>”的左边是语法,右边是对应的输出
==========================比较操作符:
Comparisonsandequality==================================
${user.age}>18-->大人
${user.age}!
=18-->大人_no_equality123123
2.8条件操作符:
Conditionaloperators
实现功能:
If-then:
(if)?
(then)
If-then-else:
(if)?
(then):
(else)
如果null值,则使用?
:
后面的值:
Default:
(value)?
:
(defaultvalue)
${user.age}%2==0?
'even'-->${user.age}%2==0?
'even':
'odd'-->${user.age}?
:
'18'-->
12345671234567
输出:
“–>”的左边是语法,右边是对应的输出
==========================条件操作符:
Conditionaloperators==================================
${user.age}%2==0?
'even'-->even
${user.age}%2==0?
'even':
'odd'-->even
${user.age}?
:
'18'-->5212341234
3.代码
详细代码见Github
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- thymeleaf系列二 简单表达式 变量消息literals文本算术比较和条件表达式 thymeleaf 系列 简单 表达式 变量 消息 literals 文本 算术 比较 条件