Thymeleaf не удалось проанализировать как выражение при попытке изменить цвет фона

#css #spring #spring-boot #spring-mvc #thymeleaf

#css — файл #весна #пружинный ботинок #spring-mvc #thymeleaf #css #spring-boot

Вопрос:

Я пытаюсь изменить фон div в зависимости от переменной systemStatus объекта, взятого из базы данных.

 th:style="${system.systemStatus} == 1} ? 'background: green' : 'background: red'"
  

Но я получаю сообщение об ошибке:

 org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "${system.systemStatus} == 1} ? 'background: green' : 'background: red'" (template: "system-management" - line 48, col 41)
  

Я попытался создать функцию для получения systemStatus в виде строки:

 th:style="${system.systemStatusString()} == '1'} ? 'background: green' : 'background: red'"
  

но я получаю ту же ошибку.

Весь div:

 <div class="form-group" th:style="${system.systemStatus} == 1} ? 'background: green' : 'background: red'">
    <label for="id">ID: </label>
    <input type="text" th:value="${system.id}" th:name="id" th:id="id"  class="form-control" id="id" readonly />
    <br>
    <label for="machineId">Machine ID: </label>
    <input type="text" th:value="${system.machineId}" th:name="machineId" th:id="machineId"  class="form-control" id="machineId"/>
</div>
  

Комментарии:

1. В ваших примерах есть одно открытие, { но два закрытия } .

Ответ №1:

У вас есть дополнительный } . Фактический код должен быть похож

th:style="${system.systemStatus} == 1 ? 'background: green' : 'background: red'"