51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

关于thymeleaf模板引擎中th:if的使用

th:if 条件判断 {#heading-1}

很多时候只有在满⾜某个条件时,才将⼀个模板⽚段显示在结果中,否则不进行显示。比如只有当用户有订单时,才为它显示订单链接,否则不显示。th:if 属性用于满足这个需求

<body>
	<!--if属性结果为 true,模板会进行显示-->
	<p th:if="true">th:if="true"</p>
	<!--if属性结果为 false,模板不会进行显示-->
	<p th:if="false">th:if="false"</p>
	<!--后台控制器传出数据:model.addAttribute("isMarry", true);-->
	<p th:if="${isMarry}">已婚</p>
</body>

th:if 属性不仅只以布尔值作为判断条件,它将按照如下规则判定指定的表达式结果为 true:

如果表达式结果为布尔值,则为 true 或 false

如果表达式的值为 null,th:if 将判定此表达式为 false

如果值是数字,为 0 时,判断为 false;不为零时,判定为 true

如果值是是 String,值为 "false"、"off"、"no" 时,判定为 false,否则判断为 true,字符串为空时,也判断为 true

如果值不是布尔值,数字,字符或字符串的其它对象,只要不为 null,则判断为 true

<body>
	<!--表达式的结果为布尔类型时,if 直接以它为结果-->
	<p th:if="true">th:if="true"</p>

    &lt;!--当表达式结果为null时,则if判定为false--&gt;
    &lt;p th:if="null"&gt;th:if="null"&lt;/p&gt;

    &lt;!--表达式为数字时,不为0,if判定为true,为0,时,if判定为false--&gt;
    &lt;p th:if="11"&gt;th:if="11"&lt;/p&gt;
    &lt;p th:if="0"&gt;th:if="0"&lt;/p&gt;

    &lt;!--表达式结果为字符串时,如果为 true,则if判定为true;值为 false,则if判定为false--&gt;
    &lt;!--结果为 off、no 等特殊字符串时,if 判定为false--&gt;
    &lt;p th:if="'true'"&gt;th:if="'true'"&lt;/p&gt;
    &lt;p th:if="'false'"&gt;th:if="'false'"&lt;/p&gt;
    &lt;p th:if="'off'"&gt;th:if="'off'"&lt;/p&gt;
    &lt;p th:if="'no'"&gt;th:if="'no'"&lt;/p&gt;
    &lt;!--表达式结果字符串不为false,off,no时,if判定为true--&gt;
    &lt;p th:if="'Love China'"&gt;th:if="'Love China'"&lt;/p&gt;

    &lt;!--后台传输:model.addAttribute("userList", User.getUsers());--&gt;
    &lt;!--只要 userList 不等于null,则if判定为true,否则为false--&gt;
    &lt;p th:if="${userList}"&gt;th:if="${userList}"&lt;/p&gt;

    &lt;!--后台传输:model.addAttribute("name", "");--&gt;
    &lt;!--字符串为空时,if判定为 true--&gt;
    &lt;p th:if="${name}eq''"&gt;name 等于空&lt;/p&gt;
    &lt;p th:if="${name}"&gt;th:if="${name}"&lt;/p&gt;



`</body>`

20200817185212196.pngth:if 判断表达式 {#heading-2}

gt:(大于)>
ge:(大于等于)>=
eq:(等于)==
lt:(小于)<
le:(小于等于)<=
ne:(不等于)!=

赞(1)
未经允许不得转载:工具盒子 » 关于thymeleaf模板引擎中th:if的使用