【问题标题】:how to use EmailAddressLocalService in liferay如何在 liferay 中使用 EmailAddressLocalService
【发布时间】:2014-10-03 18:53:54
【问题描述】:

我正在尝试使用 liferay 的 API 为一些用户添加一个额外的电子邮件地址。 根据我发现的文档:

addEmailAddress(long userId, String className, long classPK, String address, int typeId, boolean primary) 

但我有点迷茫,我不知道如何正确使用此方法 我有这个。

EmailAddressLocalServiceUtil.addEmailAddress(user.getUserId(),className, classPK, emailAddress2, typeId, false)

我不知道如何获得: -班级名称 -classPK -typeId

有没有办法获取这个参数或者我需要手动指定这个参数?

一些帮助?

【问题讨论】:

    标签: java jsp liferay liferay-6 jsp-tags


    【解决方案1】:

    EmailAddressService 用于存储与不同Liferay 实体(例如用户的联系人组织)相关的电子邮件。如果是联系人(您可能正在尝试做的事情)ClassNameContact.class.getName()classPK 是用户的联系人对象 ID。 TypeID 是与当前实体相关的电子邮件地址类型的 ID(对于 Contact,类型为 Email Address 12 3)。

    我有一个简单的 groovy 脚本,其功能如下:

    1. UserLocalServiceUtil 获取 User
    2. 获取正确的 className、classPK 和 typeID(来自 portal.properties 的默认常量值)
    3. 为之前获得的用户添加新的电子邮件地址

    代码:

    import com.liferay.portal.model.Contact
    import com.liferay.portal.model.ListTypeConstants
    import com.liferay.portal.model.User
    import com.liferay.portal.service.EmailAddressLocalServiceUtil
    import com.liferay.portal.service.ServiceContext
    import com.liferay.portal.service.UserLocalServiceUtil
    import com.liferay.portal.util.PortalUtil
    
    User user = UserLocalServiceUtil.getUserByScreenName(PortalUtil.getDefaultCompanyId(), "someuser")
    
    String className = Contact.class.getName()
    long classPK = user.getContactId()
    
    int typeId = ListTypeConstants.CONTACT_EMAIL_ADDRESS_DEFAULT
    
    EmailAddressLocalServiceUtil.addEmailAddress(
            user.getUserId(), className, classPK, "new@liferay.com", typeId, false, new ServiceContext())
    

    【讨论】:

    • 谢谢你帮了我很多,我终于找到了正确的方法来使用这个方法
    猜你喜欢
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多