这是一个大集合sList
<c:forEach items="{sList}" var="subList"\>
其中包括小集合subList,遍历歌手的信息
\
List<List<Songer>> sList = new ArrayList<>();
分组逻辑
5个一组,所以对5取余
- i = 0
- 0 % 5 == 0 → 新建一个 subList
- 把第 0 个歌手放进去
- i = 1 ~ 4
- 继续往当前 subList 里塞
- i = 5
- 5 % 5 == 0 → 再新建一个 subList
- 放第 6 个歌手
for(int i =0; i < list.size(); i++){ if(i%5 == 0){ subList = new ArrayList<>(); sList.add(subList); } Songer songer = list.get(i); subList.add(songer); }
最终得到的结构是:
sList
├─ subList0 (5 个 Songer)
├─ subList1 (5 个 Songer)
├─ subList2 (5 个 Songer)
model里放sList
model.addAttribute("sList",sList);
总结:
首先访问首页,首页调controller接口,接口把流派信息和歌手5个一组返回去,交给前端处理,处理完呈现页面