首页 > 解决方案 > th:if 中的百里香“或”运算符

问题描述

我想知道在百里香中使用 Or 运算符的正确语法是什么。

我的解决方案基于此堆栈帖子:

Thymeleaf - 布尔运算符

投票最多的答案使用“或”。

我当前的代码:

 th:if="${not #strings.startsWith(inbox?.status, 'P')}"

正在检查 inbox.status 是否不以 p 开头,如果是这种情况,将显示文本,这工作正常。

现在我想检查收件箱状态是否也不是以“App”开头,如下所示:

th:if="${not #strings.startsWith(inbox?.status, 'P') or not #strings.startsWith(inbox.status, 'App')}"

但这无济于事。

标签: htmlthymeleaf

解决方案


您可以使用OR||。但是,在您的情况下,这是您表达的逻辑不正确。

Status    A                 B                   !A || !B
          startsWith('P')   startsWith('App')   
Pending   true              false               true
App       false             true                true
Something false             false               true

我个人会将其写为(请注意,我使用的是th:unless而不是th:if):

th:unless="${#strings.startsWith(inbox?.status, 'P') OR #strings.startsWith(inbox?.status, 'App')}"

推荐阅读