本文主要是介绍Thymeleaf初使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
认识:
最近项目后台架构采用springboot,在spring4.0中推荐使用thymeleaf来做前端模版引擎,Thymeleaf是一个java库,是XML、HTML5等格式的模板引擎,与Velocity、FreeMarker相似,可以用于Web项目和非Web项目。
Thymeleaf可以作为Spring MVC的可选模块,也可以直接作为JSP的替代。Thymeleaf提供了两个版本,标准和spring标准两种方言,并且可以通过创建自定义方言进行扩展。thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。
布局:
定义代码片段
- 1
- 2
- 3
- 1
- 2
- 3
在页面任何地方引入:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
th:include 和 th:replace区别,include只是加载,replace是替换
返回的HTML如下:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
下面是一个常用的后台页面布局,将整个页面分为头部,尾部、菜单栏、隐藏栏,点击菜单只改变content区域的页面
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
任何页面想使用这样的布局值只需要替换中见的 content模块即可
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
也可以在引用模版的时候传参
- 1
- 1
layout 是文件地址,如果有文件夹可以这样写 fileName/layout:htmlhead
htmlhead 是指定义的代码片段 如 th:fragment="copy"
常见用法:
1、赋值、字符串拼接
- 1
- 2
- 1
- 2
字符串拼接还有另外一种简洁的写法
- 1
- 1
2、条件判断 If/Unless
Thymeleaf中使用th:if和th:unless属性进行条件判断,下面的例子中,<a>
标签只有在th:if
中条件成立时才显示:
- 1
- 2
- 1
- 2
th:unless于th:if恰好相反,只有表达式中的条件不成立,才会显示其内容。
也可以使用 (if) ? (then) : (else)
这种语法来判断显示的内容
3、for 循环
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
iterStat称作状态变量,属性有:
- index:当前迭代对象的index(从0开始计算)
- count: 当前迭代对象的index(从1开始计算)
- size:被迭代对象的大小
- current:当前迭代变量
- even/odd:布尔值,当前循环是否是偶数/奇数(从0开始计算)
- first:布尔值,当前循环是否是第一个
- last:布尔值,当前循环是否是最后一个
4、URL
URL在Web应用模板中占据着十分重要的地位,需要特别注意的是Thymeleaf对于URL的处理是通过语法@{…}来处理的。
如果需要Thymeleaf对URL进行渲染,那么务必使用th:href,th:src等属性,下面是一个例子
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
设置背景
- 1
- 1
根据属性值改变背景
- 1
- 1
几点说明:
- 上例中URL最后的
(orderId=${o.id})
表示将括号内的内容作为URL参数处理,该语法避免使用字符串拼接,大大提高了可读性 @{...}
表达式中可以通过{orderId}
访问Context中的orderId变量@{/order}
是Context相关的相对路径,在渲染时会自动添加上当前Web应用的Context名字,假设context名字为app,那么结果应该是/app/order
5、内联js
内联文本:[[…]]内联文本的表示方式,使用时,必须先用th:inline=”text/JavaScript/none”激活,th:inline可以在父级标签内使用,甚至作为body的标签。内联文本尽管比th:text的代码少,不利于原型显示。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
js附加代码:
- 1
- 2
- 3
- 1
- 2
- 3
js移除代码:
这篇关于Thymeleaf初使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!