牛骨文教育服务平台(让学习变的简单)
博文笔记

java中实现嵌套循环,以及
创建时间:2017-04-02 投稿人: 17346925440 浏览次数:327

这两天在做项目时遇到这样一个问题,前台需要显示业务部门,且在对应的业务部门下面显示对应的业务人员(分别有两张表,一张表是业务部门表sys_office,一个主键ID,一个表示业务部门名称的name,还有一张表是业务人员表sys_member,一个ID,一个sys_office表的外键id,一个表示业务人员的name),这个问题的难点在于循环业务部门的list时也要把其下面对应的业务部门人员list循环出来;

废话不多说直接上代码:

List<Office> officeList=officeService.officeList(office)//从数据库里得到业务部门的list

List<Map<String,Object>> officeList=new ArrayList<Map<String,Object>>();

for(int i=0;i<officeList.size();i++){

List<Map<String,Object>> memberList=new ArrayList<Map<String,Object>>();//放置业务人员name;

Map<String,Object> officeMap=new HashMap<String,Object>();

Office newOffice= officeList.get(i)//得到业务组的对象

String officeId=newOffice.getId();//得到业务组的id;

List<Member> newMember=memberService.get(i);//得到改业务组下面对应的业务人员的list

for(int j=0;j<newMember.size();j++){
Map<String,Object>memberMap=new HashMap<String,Object>();

Member newmember=newMember.get(j);

String memberName=newmember.getName();//得到该业务人员的姓名;

memberMap.put("memberName",memberName);

memberList.add(memberMap);//把得到的业务人员放到list中

officeMap.put("memberList",memberList);

}

officeList.add(officeMap);

}

model.addAttribute("officeList","officeList");

//到这里后台逻辑处理完毕,现在开始到前台进行,循环取出//

<tr>

<c:forEach items="${officeList}" var="office">

<th>

<p>${office.name}<p>//业务部门的名称

<c:forEach items="${office.memberList}" var="member">(这里注意items的内容)

<p>${member.name}</p>//业务部门对应的业务人员的名称

</c:forEach>

</tr>

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。