这可能是一个简单的问题,但我似乎无法想到它的答案 .
我有这个简单的Thymeleaf代码:
<ul data-th-switch="${someVar}">
<li data-th-case="${gt 6}">someVar is greater than 6.</li>
<li data-th-case="*">Default case.</li>
</ul>
我在data-th-case =“$ {gt 6}”上收到错误 . 在Thymeleaf有办法做到这一点吗?
提前致谢 .
1 回答
语法确实是错误的 . Details .
一个正确的语法是
"${someVar} gt 6"
但当然,它将无法正常工作,尽管模板将呈现 . 这是因为${someVar}
的计算结果为12(例如),而${someVar} gt 6
计算结果为true
. 这些并不相同 .如果启用ThyemeLeaf跟踪,您将看到百里香叶如何解释这一点:
根据您要实现的逻辑,您可能会遇到非常不同的解决方案 - 例如从将小工具放入模型到实现if-else逻辑 . 请查看此问题以获取更多ideas .