如何将2个变量与<c:if> </c:if>进行比较

时间:2011-10-26 17:32:53

标签: java spring jsp spring-mvc jstl

我正在使用jsp + spring mvc,在jsp页面上我有一些列表 - catList idname,还有一些变量test。我想比较cat.idtest,但不能因为每次都有运行时语法错误:

<c:forEach var="cat" items="${catList}" varStatus="i">
  <c:out value="${cat.id}"/>
 <%-- comparison and some action--%>
</c:forEach>

尝试:

<c:if test="${category.id == test}" >
<c:if test="${category.id eq test}" >
<c:if test="${category.id eq ${test}}">

更新:我解决了这个问题,只是服务器重新部署错误

1 个答案:

答案 0 :(得分:7)

所有JSTL标记(以及XML和HTML标记)都需要开始标记结束标记。开始标记定义标记主体的起始位置(还允许您定义属性)。结束标记定义了标记主体的结束位置。

在下面的代码示例中,结束标记位于最后一行。

<c:if test="${category.id == test}" >
   <b>Test passed!</b>
</c:if>

如您所见,它与开始标记的名称相同,以/开头(并且没有属性)。

您在问题中包含的前两个开场标记应该有效。