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,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>
页面2,btns为空
<th:block th:include="shares/layuicms::list_cmd(id='toolbar1',btns=null)"/>