比较 JSTL 标签中的两个列表值

Comparing two List values in JSTL tag

我正在使用 JSTL 标记比较来自不同列表的两个不同值,但我一直收到错误。我试图更改与之关联的括号,但 none 起作用了。我在 JSTL 中搜索比较两个列表值,但 none 帮助了我。

<c:forEach items="${commentsList}" var="commentsList">
    <c:choose>
        <c:when test="${ ${commentsList.user.id} == '${blog.user.id}' }">
            <li>
                <div class="timeline-panel" style="float:right">
                    <div class="timeline-heading" align="left">
                        <b>${commentsList.user.firstName}&nbsp;${commentsList.user.lastName}</b>
                    </div><hr>
                    <div class="timeline-body" style="float: right;">
                        <p>${commentsList.comment}</p>
                    </div>
                </div>
           </li>
       </c:when>                            
       <c:otherwise>
           <li class="timeline-inverted">
                <div class="timeline-panel">                                         
                    <b>${commentsList.user.firstName}&nbsp;${commentsList.user.lastName}</b><hr>
                    <div class="timeline-body">
                        <p>${commentsList.comment}</p>                                                  
                    </div>
                </div>
            </li>
        </c:otherwise>                              
    </c:choose>
</c:forEach>

错误是

"${ ${commentsList.user.id} == '${blog.user.id}' }" contains invalid expression(s): javax.el.ELException: Error Parsing: ${ ${commentsList.user.id} == '${blog.user.id}' }

我之前没有比较过两个列表值,顺便说一句,我可以在 jstl 中比较两个列表值,对吗?

还有一个$。 试试这个:

<c:when test="${ commentsList.user.id eq blog.user.id}">

你应该改为

<c:when test="${commentsList.user.id eq blog.user.id}">