thymeleaf里面如何实现if else这样的判断?
thymeleaf里,if是有的,但没有else。不过,可以将if + unless结合起来使用。
if好理解,但unless比较费劲。unless这个单词的意思是“除非”,但是在这里的话,后面还有一句话,完整理解是:“除非。。。才不”。
上代码。
片段页:
<block th:fragment="list_cmd(id,btns)">
<div th:id="${id ?: 'toolbar1'}">
<div class="layui-btn-container">
<!--/* btns不为空时显示 */-->
<block th:if="${btns}" >
<th:block th:replace="${btns}" />
</block>
<!--/* btns为空时显示(除非btns不为空才不显示) */-->
<block th:unless="${btns}" >
<div class="layui-inline">
<th:block th:include="::btnAdd" />
</div>
<div class="layui-inline">
<th:block th:include="::btnDel" />
</div>
</block>
</div>
</div>
</block>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
该片段的意图很明显:当使用该片段的页面指定自己的按钮时,展示指定按钮;否则展示默认按钮。
使用片段的页面
页面1,btns不为空,指定自己的按钮:
<th:block th:include="shares/layuicms::list_cmd(id='toolbar1',btns=~{::mybtns})">
<block th:fragment="mybtns" >
<div class="layui-inline">
<a class="layui-btn layui-btn-normal btn-imp">导入</a>
</div>
<div class="layui-inline">
<a class="layui-btn layui-btn-normal btn-exp">导出</a>
</div>
<div class="layui-inline">
<th:block th:include="shares/layuicms::btnDel" />
</div>
</block>
</th:block>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
页面2,btns为空
<th:block th:include="shares/layuicms::list_cmd(id='toolbar1',btns=null)"/>
- 1