这种情况怎么办?

时间:2010-12-22 08:27:32

标签: jsp jstl el

<c:if test="${not empty userList)}">
    <table cellpadding="5">
        <tr class="even">
            <th>Name</th>
            <th>Gender</th>
            <th>Country</th>
            <th>About You</th>
        </tr>
        <c:forEach items="${userList}" var="user" varStatus="status">
            <tr class="<c:if test="${status.count % 2 == 0}">even</c:if>">
                <td>${user.name}</td>
                <td>${user.gender}</td>
                <td>${user.country}</td>
                <td>${user.aboutYou}</td>
            </tr>
        </c:forEach>
    </table>
</c:if>

当我删除<c:if test="${not empty userList)}"></c:if>时,它会引发错误。 这个条件检查什么?我的数据库表有用户列表,但是这整个代码并没有显示在我的HTML本身中。

3 个答案:

答案 0 :(得分:3)

该行等同于

if(userList!=null && userList.size()>0)

答案 1 :(得分:0)

它检查列表是否包含数据,如果可以,则可以使用foreach。如果在空列表或空列表上使用foreach,则会抛出异常。

答案 2 :(得分:0)

  

当我删除<c:if test="${not empty userList)}"></c:if>时,它会引发错误。

令我惊讶的是。我希望它是其他方式。当你删除那一行时,我希望错误消失。它在语法上是无效的。以下语法有效:

<c:if test="${not empty userList}">

在以后的问题中,请发布确切的错误消息和跟踪。他们就是说出问题的原因。你知道,一旦某个问题的原因被理解,那么解决方案就会说明一切。