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.
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