Liferay:如何在 serviceImpl 类 中获取没有 ThemeDisplay 的用户个人资料PicURL?

Liferay : How to get user profilePicURL without ThemeDisplay in serviceImpl classes?

我想在网络服务调用中获取用户的 profilePicURL。
我只有那个用户的用户 ID。
这就是我正在尝试的

public String getProfilePicURL(long userId) throws SystemException,
        PortalException {
    String url = "";

    ServiceContext serviceContext = ServiceContextThreadLocal
            .getServiceContext();
    ThemeDisplay themeDisplay = serviceContext.getThemeDisplay();

    User user = UserLocalServiceUtil.getUser(userId);

    try {
        url = user.getPortraitURL(themeDisplay);
    } catch (PortalException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        return url;
    }
}

当我做 System.out.println(themeDisplay) 时,结果是 null
我不知道还有什么其他方法可以做到这一点。

我应该改变什么?

你可以使用UserConstants.getPortraitURL(imagePath, male, portraitId); 来自 liferay 的 UserConstants class。