Thymeleaf开启整数,大于

时间:2017-01-13 08:46:45

标签: html switch-statement thymeleaf

这可能是一个简单的问题,但我似乎无法想出答案。

我有这个简单的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>

我收到数据错误=&#34; $ {gt 6}&#34;。在Thymeleaf有办法做到这一点吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

语法确实是错误的。 Details

正确的语法是"${someVar} gt 6",但当然,它将无法正常工作,尽管模板将呈现。这是因为${someVar}评估为12(例如),而${someVar} gt 6评估为true。这些不相等。

如果启用ThyemeLeaf追踪,您将看到百里香叶如何解释这一点:

o.t.s.expression.GreaterThanExpression   : Evaluating GREATER THAN expression: "${someVar} > 6". Left is "12", right is "6". Result is "true"
o.t.s.expression.EqualsExpression        : Evaluating EQUALS expression: "${someVar} == (${someVar} > 6)". Left is "12", right is "true". Result is "false"

根据您要实施的逻辑,您可能会遇到非常不同的解决方案 - 例如从将小工具放入模型到实现if-else逻辑。请查看此问题以获取更多ideas