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>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
这两天在做项目时遇到这样一个问题,前台需要显示业务部门,且在对应的业务部门下面显示对应的业务人员(分别有两张表,一张表是业务部门表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>