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)"/>

在这里插入图片描述

分类:
代码人生
  • 14小时前
  •