jsp页面中同时遍历多个list集合

2021-01-22 23:13

阅读:568

标签:使用   目的   ast   遍历   focus   element   tag   plain   loop   

在Jsp页面中,我们也许有这样的需求:从后端获取到多个List,但又想将这些List的值同时打印出来

比如,

有用户列表userList,user类有用户ID、用户名、用户性别等基本信息

有用户关系列表userRelationsList,userRelation类有用户关注的用户数、粉丝数等关系信息

在后端进行数据库操作时,对用户列表进行遍历,将每次查询得到的用户的关系信息存入用户关系列表中,每个用户关系列表userRelationsList对应位置的用户关系就与用户对应,即userRelationList[i](第i个userRelation)的用户关系就是第i个用户的用户关系

目前,我们想在页面输出用户的信息,包括基本信息和关系信息

比如userList表中用户名、用户性别信息,userRelation表中用户关注的用户数、用户粉丝数,则需要同时遍历2个List

用户名 用户性别 用户关注的用户数 用户粉丝数
HuskySir 1 1

使用jstl的标签

标签

属性 描述 是否必要 默认值
items 要被循环的信息
begin 开始的元素(0=第一个元素,1=第二个元素) 0
end 最后一个元素(0=第一个元素,1=第二个元素) Last element
step 每一次迭代的步长 1
var 代表当前条目的变量名称
varStatus 代表循环状态的变量名称

其中的varStatus为状态项,有4个属性值

属性 描述
current 当前迭代的项
index 此项的索引,从0开始
count 此项的计数序号,从1开始
first 此项是否是第一项,布尔值
last 此项是否是最后一项,布尔值

其中index为迭代的索引,count为从1开始的迭代计数,index=count-1

 1 @ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 2 
 3 table class="table table-hover table-bordered table-condensed">
 4     tr style="text-align: center;font-size: 15px;">
 5         td>strong>用户名strong>td>
 6             td>strong>用户性别strong>td>
 7             td>strong>用户关注的用户数strong>td>
 8             td>strong>用户粉丝数strong>td>
 9     tr>
10         c:forEach items="${userList}" var="user" varStatus="loop">
11             tr style="text-align: center;font-size: 10px;">
12                 td>c:out value="${user.user_nickname}">c:out>td>
13                 td>c:out value="${user.user_sex}">c:out>td>
14                  td>c:out value="${userRelationList[loop.index].to_user_count}">c:out>td>
15                 td>c:out value="${userRelationList[loop.index].from_user_count}">c:out>td>                     
16             tr>
17         c:forEach>
18 table>

我们可以通过varStatus中的index索引值,返回其他列表中的元素并打印

jsp页面中同时遍历多个list集合

标签:使用   目的   ast   遍历   focus   element   tag   plain   loop   

原文地址:https://www.cnblogs.com/huskysir/p/13282191.html


评论


亲,登录后才可以留言!