ThymeLeaf:不等于 th:if 中的表达式

Mea*_*ell 0 javascript thymeleaf

ThymeLeaf 非常新,但在我正在从事的项目中遇到了问题。在日志中收到以下错误:

Exception evaluating SpringEL expression: "!searchResults.results.empty"
Run Code Online (Sandbox Code Playgroud)

查看违规代码是:

<th:block th:if="${!searchResults.results.empty}">
Run Code Online (Sandbox Code Playgroud)

我认为感叹号 (!) 的位置不正确。我试过了:

<th:block th:if="${not searchResults.results.empty}">
Run Code Online (Sandbox Code Playgroud)

但同样的错误评估。有人可以帮助我如何取消支票吗?

Sum*_*mit 5

假设根据您粘贴的代码,您想要实现一个检查,其中 Thymeleaf 检查对象中的空值。为了那个原因 : - -

<div th:if= "${searchResults.results != null}">
Run Code Online (Sandbox Code Playgroud)

或者

 <div th:if= "${searchResults.results != ''}">
Run Code Online (Sandbox Code Playgroud)

此外,或者您可以做的是 - 检查您的控制器本身是否对象为空或没有任何值,并在您的 html 页面上发送响应,然后根据 Thymeleaf 上的响应进行检查,如下所示:- - ——

1.) 您的控制器:--

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

然后在你的 Thymeleaf 上:- - -

<th:block th:if="${response=='NoData'}"> No Data Found </th:block>
Run Code Online (Sandbox Code Playgroud)