我需要在表中使用替换背景颜色的行。我还需要让行中的文本颜色依赖于值。我怎么能用Thymeleaf做到这一点?这是我的代码:
let jsonDestination = "{ \"people\": [{ \"firstName\": \"Paul\", \"lastName\": \"Hudson\", \"isAlive\": true }, { \"firstName\": \"Angela\", \"lastName\": \"Merkel\", \"isAlive\": true }, { \"firstName\": \"George\", \"lastName\": \"Washington\", \"isAlive\": false } ] }"
if let dataFromString = jsonDestination.data(using: String.Encoding.utf8) {
let destinationJson = JSON(data: dataFromString)
for item in destinationJson["people"].arrayValue {
print(item["firstName"].stringValue)
}
}
但这不起作用。 Thymeleaf给出了解析错误:<tr th:each="item, rowStat : ${items}"
th:style="${rowStat.odd} ? 'background: #f0f0f2;' : 'background: #ffffff;'"
th:style="${item.getValue()} > 5 ? 'color: red;' : 'color: black;'">
<td.... <!-- cols>
</tr>
更新
请注意这是一封HTML电子邮件,因此我需要使用内联样式。
答案 0 :(得分:5)
Thymeleaf有一个th:styleappend属性,允许应用多种样式:
<tr th:each="item, rowStat : ${items}"
th:style="${rowStat.odd} ? 'background: #f0f0f2;' : 'background: #ffffff;'"
th:styleappend="${item.getValue()} > 5 ? 'color: red;' : 'color: black;'">
<td.... <!-- cols>
</tr>