当前位置: 代码迷 >> JavaScript >> java和JSTL遍历地图
  详细解决方案

java和JSTL遍历地图

热度:41   发布时间:2012-12-18 12:43:41.0
java和JSTL遍历map
public Map<Integer,List<MeetMenu>> getRoleMenu(int userId) {
		Map<Integer,List<MeetMenu>> mapMenu = new HashMap<Integer, 
		List<MeetMenu>>();
//		拼凑权限条件
		List<RoleMenu> list = userDao.getRoleMenuIds(userId);
		List<MeetMenu> menuList = null;
		if(list.size()>0){
			StringBuffer sb = new StringBuffer();
			for(RoleMenu rm:list){
				sb.append(rm.getMenuId());
				sb.append(",");
			}
			String menuIds = 
			sb.toString().substring(0,sb.toString().length()-1);
			menuList = userDao.getMenuList(menuIds);
			for(MeetMenu mm:menuList){
				if(mm.getParentId()==0){
					int menuId = mm.getMenuId();
					List<MeetMenu> listOneList = userDao.getMenuOneList(menuIds, 
					menuId);
					mapMenu.put(menuId,listOneList);
				}
			}
			System.out.println("-------------------------------------------");
			System.out.println("mapMenu size = "+mapMenu.size());
			Iterator it = mapMenu.entrySet().iterator();
			while (it.hasNext()) {
				Map.Entry entry = (Map.Entry)it.next();
				int menuId = Integer.parseInt(entry.getKey().toString());
				System.out.println("menuId = "+ menuId);
				List<MeetMenu> mlist = (List<MeetMenu>)entry.getValue();
				for(MeetMenu m:mlist){
					System.out.println(m.getMenuName()+" "+m.getLinkUrl());
				}
			}
			System.out.println("-------------------------------------------");
		}
		return mapMenu;
	}

	=====================================================================解析
	<c:forEach items="${menuList}" var="ml" varStatus="states">
			<c:out value="${ml.key}"></c:out> -> 
			<c:forEach items="${ml.value}" var="menu" varStatus="menuStates">
				<c:out value="${menu.menuName}"></c:out>
			</c:forEach>
	</c:forEach>
  相关解决方案