Switch Thymeleaf

Bom dia a todos.

Alguém poderia me ajudar neste pequeno pedaço de código que envolve java8, Thymeleaf e Spring.

É uma tela html de pesquisa que possui status de titulos. Por exemplo: o titulo pode estar: pendente, cancelado e pago. Fiz o código abaixo para colorir estes status e mostrar na tela mas não está funcionando, não dá erro mas não coloca as cores devidamente em cada status.

Os tipos de status vem de um enum

<td class="text-center" th:switch="${titulo.status.descricao}">
	<span th:case="pendente" class="label label-danger" th:text="${titulo.status.descricao}"></span>
	<span th:case="recebido" class="label label-success" th:text="${titulo.status.descricao}"></span> 
	<span th:case="cancelado" class="label label-danger" th:text="${titulo.status.descricao}"></span>
</td>

Código do ENUM:

public enum StatusTitulo {

	PENDENTE("Pendente"),
	RECEBIDO("Recebido"),
	CANCELADO("Cancelado");
	
	private String descricao;
	
	StatusTitulo(String descricao) {
		this.descricao = descricao;
	}
	
	public String getDescricao() {
		return descricao;
	}
}

Alguém sabe o que está faltando ou está errado neste código?

Tenta assim:

<td class="text-center" th:switch="${titulo.status}">
	<span th:case="PENDENTE" class="label label-danger" th:text="${titulo.status.descricao}"></span>
	<span th:case="RECEBIDO" class="label label-success" th:text="${titulo.status.descricao}"></span> 
	<span th:case="CANCELADO" class="label label-danger" th:text="${titulo.status.descricao}"></span>
</td>

Avalie pelo name do Enum. E deixe tudo maiúsculo no case mesmo, pois acho que o case sensitive influencia.

Ps status “pendentes” ele coloca em vermelho, mas os canelados e pagos ficam com a cor verde.

Reparei que os classes estão repetidos para “PENDENTE” e “CANCELADO” (ambos estão como danger). Posta essas classes css para gente ver (label-danger e label-success).

Fiz a alteração que você notou e mais uma no switch aí funcionou:

<td class="text-center" th:switch="${titulo.status.descricao}">
<span th:case="Pendente" class="label label-danger" th:text="${titulo.status.descricao}"></span>
<span th:case="Recebido" class="label label-success" th:text="${titulo.status.descricao}"></span> 
<span th:case="Cancelado" class="label label-warning" th:text="${titulo.status.descricao}"></span>
</td>

Valeu, obrigado.

Apenas recomendo que não se baseie na descrição do enum, mas sim no name dele. Pois o name que identifica o enum.

Obrigado pela dica.