Thymeleaf - 在集合选择中使用局部变量

Thymeleaf - Use local variable in Collection Selection

在我的页面上有一个评论列表,每个评论都有一些评论。 从我的后端我得到所有评论的列表,以及所有评论的列表。 每条评论都有review属性,决定了它属于哪个评论

在每个评论下,我现在正在尝试显示相关的评论。 为此,我试图过滤并循环遍历我的 comments 列表中的所有评论,其中父评论的 ID (comment.review.getID()) 等于当前评论的 ID (review.getID()) .

这是我正在尝试的方法,但它不起作用。:

<div class="review" th:each="review : ${reviews}">
    <div class="review-comments" th:with="reviewID=${review.getID()}">
        <div class="comment" th:each="comment : ${comments.?[#this.review.getID() eq reviewID]}">

它抛出这个错误:

Property or field 'reviewID' cannot be found on object of type 'de.firefuro.forum.entity.Comment'

那么如何将评论的评论 ID 与局部变量 reviewID(或与局部变量 review.getID())进行比较?

我也试过了

<div class="review" th:each="review : ${reviews}">
    <div class="review-comments">
        <div class="comment" th:each="comment : ${comments.?[#this.review.getID() eq review.getID()]}">

但这也不起作用。它没有过滤任何东西。可能是因为它认为 review 我的意思是 comment.review。我无法使用本地 review 变量。

我该怎么做?

假设 Comment class 有 content 字段,我想这将是正确的语法:

<div th:each="review : ${reviews}">
    <div th:text="${review.id}"></div>
    <div th:each="comment : ${comments.?[review.id == __${review.id}__]}">
        <div th:text="${comment.content}"></div>
    </div>
</div>