如何以编程方式从liferay中的用户组获取用户列表?

时间:2015-04-13 12:31:24

标签: liferay hook liferay-6 liferay-theme liferay-aui

我可以在自定义portletm中创建一个UserGroup,但是我无法获得该UserGroup的关联用户列表。我在下面尝试过,它给出了一个空列表作为结果。有关如何从UserGroup获取用户列表的任何建议?

public void assign(ActionRequest request, ActionResponse response) 
        throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException {
    String sel_userGroupID = ParamUtil.getString(request, "selectedId");
    System.out.println("<<<< Controller assign() method userGroupID >>>>>>>>>" +sel_userGroupID);
    long usergroupid = Long.valueOf(sel_userGroupID);
    int end = UserGroupLocalServiceUtil.getUserUserGroupsCount(usergroupid);
    System.out.println("<<<< Controller assign() method total users count >>>>>>>>>" +end);
    List<UserGroup> userGroupList = UserGroupLocalServiceUtil.getUserUserGroups(usergroupid, 0 , end);
    System.out.println("<<<< Controller assign() method !! users list >>>>>>>>>" +userGroupList);
}

1 个答案:

答案 0 :(得分:3)

您正在调用的方法将根据给定的userId返回userGroups。 如果您想获得某个群组的用户,则需要调用User API:

尝试以下一项:

List<User> userList = 
      UserLocalServiceUtil.getUserGroupUsers(long userGroupId, int start, int end);

userGroupId参数还有其他方法,您可以查看UserLocalServiceUtil其他方法。