尝试更改背景颜色时,Thymeleaf 无法解析为表达式

Posted

技术标签:

【中文标题】尝试更改背景颜色时,Thymeleaf 无法解析为表达式【英文标题】:Thymeleaf Could not parse as expression when trying to change background color 【发布时间】:2021-01-02 04:04:07 【问题描述】:

我正在尝试根据来自数据库的对象的变量 systemStatus 更改 div 的背景。

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>

【问题讨论】:

您的示例中有一个开头的,但有两个结尾的s。 【参考方案1】:

你有一个额外的。实际代码应该是这样的

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

【讨论】:

以上是关于尝试更改背景颜色时,Thymeleaf 无法解析为表达式的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQueryUI datepicker 时无法更改输入背景颜色

jquery ui可排序占位符无法更改背景颜色

UITableViewHeaderFooterView:无法更改背景颜色

当可点击为假时更改按钮的背景颜色

选择但失去焦点时更改 WPF treeViewItem 背景颜色

无法更改访问中的背景颜色