javathymeleafisnullorempty

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


Is there any way to check both null and empty condition in Thymeleaf?

Approach 1

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

If we combine two conditions like (variable!='' And variable!=null) I am having issue when rendering.

I am trying following sample

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

I also used containsKey as well but it is behaving differently.


Solution

  • In order to check null or empty string using thymeleaf expressions, Use this approach : ---

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

    OR, this :--

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

    Furthermore, you can check the empty or null object on your controller itself and then send the response on your thymeleaf-html page accordingly, like this :--
    1.) Your Controller :-

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

    2.) Then on your Thymleaf page :- - -

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

    PS - I've answered the same question here which helps the questioner hope it helps you as well :-- ThymeLeaf: Not Equal expression in th:if