如何在一次操作中使用 Thymeleaf 检查 null 和空条件?

How to check null and empty condition using Thymeleaf in one single operation?

有什么方法可以检查 Thymeleaf 中的 null 和 empty 条件吗?

方法一

1) .variable1?.variable2?.variable3
2) variable!=null 
3) variable!=''

如果我们结合两个条件,如(变量!=''和变量!=null),我在渲染时遇到问题。

我正在尝试以下示例

${#strings.concat(#strings.concat('class ',variable1?.variable2), ' ', variable1?.variable2?.variable3)}

我也使用了 containsKey 但它的行为不同。

为了使用 thymeleaf 表达式检查 null 或空字符串,请使用此方法:---

<div th:if= "${searchResults.results != null}">

或者,这个 :--

<div th:if= "${searchResults.results != ''}">

此外,您可以检查控制器本身的空对象或空对象,然后相应地在 thymeleaf-html 页面上发送响应,如下所示:--
1.) 你的控制器:-

 List ls = //some data from you DAO
    if(ls.isEmpty()){
         model.addAttribute("response","NoData");
      }else{
         model.addAttribute("response",ls);
     }

2.) 然后在您的 Thymleaf 页面上:- - -

<th:block th:if="${response=='NoData'}"> No Data Found </th:block>

PS - 我在这里回答了同样的问题,这对提问者有帮助希望它对你也有帮助:--

尝试${#strings.isEmpty(variable)}

来自Tutorial | Using Thymeleaf | Strings

/*
 * Check whether a String is empty (or null). Performs a trim() operation before check
 */
${#strings.isEmpty(name)}