liferay中自定义字段得到Group对象

参考;一纯粹的paranoid的博客  ,网址:http://blog.csdn.net/paranoid_android/article/details/9240225


对于Group对象而说,其有属性classpk和classnameid属性,当classnameid为10001时,值为com.liferay.portal.model.Group时,其为Group对象。

此时classpk=groupid.


同理:如果自定义了User的值,且添加了一个自定义字段"Height',起" ,其 “Height” 属性值为180.

  1. String customAttributeName="height"  
  2.   
  3. String customAttributeValue="180" 

  1. long classNameId = ClassNameLocalServiceUtil.getClassNameId(User.class);  
  2. long companyId = PortalUtil.getDefaultCompanyId(); 
  1. List<ExpandoValue> values = ExpandoValueLocalServiceUtil.getColumnValues(companyId, classNameId, ExpandoTableConstants.DEFAULT_TABLE_NAME, customAttributeName,customAttributeValue, -1, -1); 
  1. //create an arraylist to store user objects  
  2. List<User> users = new ArrayList<User>();  
  3. //temp user object  
  4. User user;         
  5.   
  6. //iterate through list of ExpandoValues and for each  
  7. // element try to find corresponding user object  
  8. for (int i = 0; i < values.size(); i++) {  
  9.   long userId = values.get(i).getClassPK();  
  10.   try{  
  11.     user =  UserLocalServiceUtil.getUser(userId);  
  12.     users.add(user)  
  13.   }catch(NoSuchUserException e ){   
  14.      user with this primary key was not found in DB .....             
  15.   }// 




其他:Group中有classNameid和classpk,如果某条记录的这两个列的值为空,则该条记录指的是一个社区。如果className的值是com.liferay.portal.model.User,

则该条记录为一个私有的用户社区(只允许Power Users)。如果className 的值是com.liferay.portal.model.Organization,则这条记录表示了一个组织(Organization
)或地区(Location)如果className 的值是com.liferay.portal.model.UserGroup则表示这条记录记录的是一个UserGroup(用户组)。可以说:组(Group)Organization和Location已经UserGroup的集合。存在组(Group)用于记录Organizations/Locations 和UserGroups的原因在于:这样可以简化其他实体(比如权限(permissions)和角色(
role))同用户(Users)之间的关系。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值