我使用JSTL标记比较来自不同列表的两个不同的值,但我不断收到错误。我试图更改与之关联的括号,但都没有效果。我搜索了比较JSTL中的两个列表值,但没有人帮助我。
<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} ${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} ${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中的两个列表值吗?
答案 0 :(得分:2)
还有一个额外的$
。
试试这个:
<c:when test="${ commentsList.user.id eq blog.user.id}">
答案 1 :(得分:1)
你应该改为
<c:when test="${commentsList.user.id eq blog.user.id}">