Como fazer se em Thymeleaf?

Qual é a melhor maneira de fazer um simples if-else em Thymeleaf?

Eu quero conseguir em Thymeleaf o mesmo efeito que

<c:choose>
  <c:when test="${potentially_complex_expression}">
     <h2>Hello!</h2>
  </c:when>
  <c:otherwise>
     <span class="xxx">Something else</span>
  </c:otherwise>
</c:choose>

em JSTL.

O que eu percebi até agora:

<div th:with="condition=${potentially_complex_expression}" th:remove="tag">
    <h2 th:if="${condition}">Hello!</h2>
    <span th:unless="${condition}" class="xxx">Something else</span>
</div>

Eu não quero avaliarpotentially_complex_expression duas vezes. É por isso que introduzi variável localcondition.

Ainda não gosto de usar os doisth:if="${condition} eth:unless="${condition}".

O importante é que eu uso 2 tags html diferentes: digamosh2 espan.

Você pode sugerir uma maneira melhor de alcançá-lo?

questionAnswers(9)

yourAnswerToTheQuestion