我在JSP页面中有以下内容

 <table border=1>
        <thead>
            <tr>
                <th>User Id</th>
                <th>First Name</th>
                <th>DOB</th>
                <th colspan=2>Action</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach items="${users}" var="user">
                <tr>
                    <td><c:out value="${user.userid}" /></td>
                    <td><c:out value="${user.firstName}" /></td>
                    <td><fmt:formatDate pattern="dd-MMM-yy" value="${user.dob}" /></td>
                    <td><a href="UserController?action=edit&userId=<c:out value="${user.userid}"/>">Update</a></td>
                    <td><a href="UserController?action=delete&userId=<c:out value="${user.userid}"/>">Delete</a></td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
<p><a href="UserController?action=insert">Add User</a></p>


普通用户只能通过单击“添加用户”按钮输入10行,管理员可以在表中输入任意数量的行。

管理员只能查看管理员添加的行,普通用户只能查看其他所有行,但是普通用户不能查看管理员添加的行。

如何根据上述规则在JSP中有条件地呈现行?

谢谢

最佳答案

您可以使用<c:if>标记有条件地显示数据。像这样:

<c:forEach items="${users}" var="user">
    <c:if test="${user.role != 'admin'}">
        <!-- code here -->
    </c:if>
</c:forEeach>


我也相信,如果已经添加的用户数是10,并且当前用户不是管理员,则需要有条件地禁用“添加用户”链接。

07-24 15:11