Ответ 1
Неисправность вызвана тем, что в первом случае у вас нет правильного выражения. В частности,
'COMPLETE','INVALID'
не является допустимым выражением. Я подозреваю, что то, что вы пытаетесь сделать, это включить div, если статус COMPLETE или INVALID. К сожалению, я считаю, что вам придется дублировать разметку для этих условий индивидуально. Позвольте мне предложить следующую разметку:
<!-- th:block rather than unneeded div -->
<th:block th:switch="${status.value}">
<div th:case="'COMPLETE'">
<!-- print object is not active -->
</div>
<div th:case="'INVALID'">
<!-- print object is not active -->
</div>
<div th:case="'NEW'">
<!-- print object is new and active -->
</div>
</th:block>
В качестве альтернативы вы можете прибегнуть к th: если в этом случае он может работать лучше:
<div th:if="${status.value} eq 'COMPLETE' or ${status.value} eq 'INVALID'">
<!-- print object is not active -->
</div>
<div th:if="${status.value} eq 'NEW'">
<!-- print object is new and active -->
</div>
Или еще проще:
<div th:unless="${status.value} eq 'NEW'">
<!-- print object is not active -->
</div>
<div th:if="${status.value} eq 'NEW'">
<!-- print object is new and active -->
</div>