修改标签
以下语法需要在th:内部使用才能正常解析,否则会原样显示
th:text="" 显示文本信息,不解析
结果:qqq
th:utext="" 显示文本信息,如果有标签会解析
结果:qqq
变量表达式 ${ } 用于获取上下文参数值,例
@RequestMapping("/")
public String test(Model model){
model.addAttribute("name","123456");
return "index";
}
//index.html
//
选择表达式 *{ } 用于选择当前对象的一个属性值。当前对象通过 th:object="${ }" 来设置
name:'
age:
信息表达式 #{ } 用于获取全局公用的一些静态文本信息,以便维护使用,这些信息一般放在properties文件中。一般搭配th:text=" "使用
文件名称必须中messages开始,messages1也不行,messages_zh_CN可以用,小项目就直接用messages作为名称就好了。th:text="#{ key }"
通过@{......}引入url
默认访问的根路径为src/main/resources/static
如访问src/main/resources/static/css/index.css文件,则
也可以访问绝对路径
如果直接使用href
则路径不会解析,导致出错,必须使用th:href=" "
Thymeleaf模板适配了WebContext中的参数请求
${xxx}返回在上下文中的变量xxx或者请求request作用域中的属性xxx。例如:
@RequestMapping("/")
public String test(Model model,HttpServletRequest request){
model.addAttribute("name","123456");
request.setAttribute("requestcontext","我是request的参数");
return "index";
}
index.html
使用model参数的方式
使用request参数的方式
//这个地方idea提示代码有错,但是不影响使用
${param.xxx} 获取request的请求参数
${session.xxx} 返回session作用域的一个属性xxx
${application.xxx} 返回一个全局ServletContext上下文作用中的属性xxx
在Thymeleaf模板中支持算数运算符和逻辑运算符。+、-、*、/、%、>=、==、!=.................
(1)if unless 决定着当前标签是否显示
th:if=" " true显示 false不显示
th:unless=" " true不显示 false显示
这是:if
那是:unless
结果: 这是:if 那是:unless
(2)switch语句
switch使用1
你好
我不好
switch使用2
你好
我不好
结果:
switch使用1
我不好
switch使用2
你好
有两种形式:根据需要使用
th:each="迭代对象:对象集合 "
th:each="迭代对象,循环状态变量:对象集合 "
循环状态变量会有7个属性值
index:当前迭代对象的index(从0开始)
count:当前迭代对象的index(从1开始)
size:集合大小
current:当前迭代对象
even/odd:布尔值,当前循环是否是偶数/奇数(从0开始)
first:布尔值,当前是否是循环第一个
last:布尔值,当前是否是循环最后一个
这是第一个
这是最后一个
结果:
这是第一个
当前值:1当前位置:0当前计数:1总大小:5
当前值:2当前位置:1当前计数:2总大小:5
当前值:3当前位置:2当前计数:3总大小:5
当前值:4当前位置:3当前计数:4总大小:5
当前值:5当前位置:4当前计数:5总大小:5
这是最后一个
#dates:日期格式化,对应Java.util.Date类
#calendars:日期格式化,对应Java.util.Calendar类
#numbers:数字格式化
#strings:字符串格式化
#objects:对应Java.lang.Object类
#bools:判断boolean类型
#arrays:数组操作
#lists:列表操作,对应Java.util.LIst类
#sets:Set操作,对应Java.util.Set类
#maps:Map操作,对应Java.util.Map类
#aggregates:创建数组或者集合
#messages:在变量表达式内部获取外部消息,类似于 #{key}
th:action
th:each
th:field
th:href
th:id
th:if
th:fragment使用
page1.html
Title index.html
Title 怎么了测试
th:include引用指定文件元素内部内容
th:replace引用指定文件元素全部内容替换当前元素
查看结果源码可以看出来:
怎么了测试Title
th:object
th:src
th:text
th:value
th:style
th:onclick
表单提交
感觉虽然很整洁规范,但确实没jsp使得顺手。