Thymeleaf - 检查数组是否包含 属性 的元素
Thymeleaf - Check if array contains element with property
我有一个 comments
的列表。每个评论都有一个属性author
。每个作者都有一个 username
.
我只想在当前用户尚未发表评论时显示特定按钮。 (这意味着列表中不能有评论,其中作者的用户名等于user.username)
这是 JavaScript 中的样子:
if(!comments.some(comment => comment.author.username === user.username))
但我不知道如何在 Thymeleaf 中做到这一点。我找不到任何必要的函数,如 array#map()、array#any() 等。内联循环似乎也不是问题。
<button th:if="${!<What goes here?>}" class="btn btn-primary">Add Comment</button>
我该怎么做?
你可以试试这个会复制javascript
的一些功能
<div th:each="comment : ${comments}">
<button th:if="${comment.author.username == user.username}" class="btn btn-primary">Add Comment</button>
</div>
终于找到了可行的解决方案:
使用 Spring 的 Collection Selection 您可以检查列表是否包含具有特定 属性 值的元素。
<button th:unless="${comments.^[author.username == user.username]}" class="btn btn-primary">Add Comment</button>
我有一个 comments
的列表。每个评论都有一个属性author
。每个作者都有一个 username
.
我只想在当前用户尚未发表评论时显示特定按钮。 (这意味着列表中不能有评论,其中作者的用户名等于user.username)
这是 JavaScript 中的样子:
if(!comments.some(comment => comment.author.username === user.username))
但我不知道如何在 Thymeleaf 中做到这一点。我找不到任何必要的函数,如 array#map()、array#any() 等。内联循环似乎也不是问题。
<button th:if="${!<What goes here?>}" class="btn btn-primary">Add Comment</button>
我该怎么做?
你可以试试这个会复制javascript
的一些功能<div th:each="comment : ${comments}">
<button th:if="${comment.author.username == user.username}" class="btn btn-primary">Add Comment</button>
</div>
终于找到了可行的解决方案:
使用 Spring 的 Collection Selection 您可以检查列表是否包含具有特定 属性 值的元素。
<button th:unless="${comments.^[author.username == user.username]}" class="btn btn-primary">Add Comment</button>