Beispiel #1
0
  /**
   * 用户管理Action
   *
   * @return
   */
  @SuppressWarnings({"unchecked", "rawtypes"})
  public String allUser() {
    List<User> allUsers = userService.search(this.searchUsername, this.searchEnabled);
    Map session = ActionContext.getContext().getSession();
    this.showUsers = (List<User>) session.get("showUsers"); // 从session中取出当前正在显示的用户信息
    if (showUsers == null) { // 当显示用户信息列表为空时,新建对象
      showUsers = new ArrayList<User>();
    } else { // 当当前显示用户信息列表不为空时,清空用户信息列表,以便放入待显示用户信息,避免冲突
      showUsers.clear();
    }

    if (allUsers == null || allUsers.size() == 0) { // 当所有用户信息为空时,设置页脚导航处的值
      this.totalPage = 1;
      this.currentPage = 1;
    } else {
      int userSize = allUsers.size();
      this.totalPage = userSize % pageSize == 0 ? userSize / pageSize : userSize / pageSize + 1;
      int start = (currentPage - 1) * pageSize;
      int end = start + pageSize;
      for (int i = start; i < end; i++) {
        if (i >= userSize) {
          break;
        } else {
          User user = allUsers.get(i);
          Set<UserRole> userRoles =
              new HashSet<UserRole>(userService.findInStatusUserRoleById(user.getId()));
          user.setUserRoles(userRoles);
          showUsers.add(user);
        }
      }
    }
    session.put("showUsers", showUsers);
    this.msg = (String) session.get("msg");
    Integer userAction = (Integer) session.get("userAction");
    if (userAction == null || userAction == 0) {
      session.put("msg", "");
    } else {
      session.remove("userAction");
    }

    return SUCCESS;
  }