@RequestMapping(value = "/role/list")
  public String roleList(
      Integer page,
      Integer size,
      String __EVENTTARGET,
      String __EVENTARGUMENT,
      String __VIEWSTATE,
      Long[] listId,
      Integer[] listChkId,
      ModelMap map,
      HttpServletRequest req) {
    String username = (String) req.getSession().getAttribute("manager");

    if (null == username) {
      return "redirect:/Verwalter/login";
    }

    // 管理员角色
    TdManager tdManager = tdManagerService.findByUsernameAndIsEnableTrue(username);
    TdManagerRole tdManagerRole = null;

    if (null != tdManager.getRoleId()) {
      tdManagerRole = tdManagerRoleService.findOne(tdManager.getRoleId());
    }

    if (null != tdManagerRole) {
      map.addAttribute("tdManagerRole", tdManagerRole);
    }

    if (null != __EVENTTARGET) {
      if (__EVENTTARGET.equalsIgnoreCase("btnDelete")) {
        btnDeleteRole(listId, listChkId);
        tdManagerLogService.addLog("delete", "删除管理员角色", req);
      } else if (__EVENTTARGET.equalsIgnoreCase("btnPage")) {
        if (null != __EVENTARGUMENT) {
          page = Integer.parseInt(__EVENTARGUMENT);
        }
      }
    }

    if (null == page || page < 0) {
      page = 0;
    }

    if (null == size || size <= 0) {
      size = SiteMagConstant.pageSize;
      ;
    }

    map.addAttribute("page", page);
    map.addAttribute("size", size);
    map.addAttribute("__EVENTTARGET", __EVENTTARGET);
    map.addAttribute("__EVENTARGUMENT", __EVENTARGUMENT);
    map.addAttribute("__VIEWSTATE", __VIEWSTATE);

    map.addAttribute("role_page", tdManagerRoleService.findAll(page, size));

    return "/site_mag/manager_role_list";
  }
 @ModelAttribute
 public void getModel(
     @RequestParam(value = "id", required = false) Long id,
     @RequestParam(value = "roleId", required = false) Long roleId,
     Model model) {
   if (null != id) {
     model.addAttribute("tdManager", tdManagerService.findOne(id));
   }
   if (null != roleId) {
     model.addAttribute("tdManagerRole", tdManagerRoleService.findOne(roleId));
   }
 }
  @RequestMapping(value = "/role/edit")
  public String roleEdit(Long id, String __VIEWSTATE, ModelMap map, HttpServletRequest req) {
    String username = (String) req.getSession().getAttribute("manager");
    if (null == username) {
      return "redirect:/Verwalter/login";
    }

    map.addAttribute("__VIEWSTATE", __VIEWSTATE);

    if (null != id) {
      map.addAttribute("tdRole", tdManagerRoleService.findOne(id));
    }

    // 根菜单列表
    List<TdNavigationMenu> rootMenuList = tdNavigationMenuService.findByParentIdAndSort(0L);

    if (null != rootMenuList && rootMenuList.size() > 0) {
      for (int i = 0; i < rootMenuList.size(); i++) {
        TdNavigationMenu rootMenu = rootMenuList.get(i);

        // 取一级菜单列表
        List<TdNavigationMenu> level0MenuList =
            tdNavigationMenuService.findByParentIdAndSort(rootMenu.getId());

        if (null != level0MenuList && level0MenuList.size() > 0) {
          map.addAttribute("level_" + i + "_menu_list", level0MenuList);

          for (int j = 0; j < level0MenuList.size(); j++) {
            TdNavigationMenu level0Menu = level0MenuList.get(j);

            // 取二级菜单列表
            List<TdNavigationMenu> level1MenuList =
                tdNavigationMenuService.findByParentIdAndSort(level0Menu.getId());

            if (null != level1MenuList && level1MenuList.size() > 0) {
              map.addAttribute("level_" + i + j + "_menu_list", level1MenuList);
            }
          }
        }
      }
    }

    map.addAttribute("root_menu_list", rootMenuList);

    return "/site_mag/manager_role_edit";
  }