Я пытаюсь получить liferay ID пользователя (я использую primefaces 6.2 в Liferay 7).
Что я пробовал до сих пор:
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
long userId = td.getUserId();
Я получаю следующую ошибку:
ERROR [stderr] (default task-49) java.lang.ClassCastException: com.liferay.faces.bridge.ext.filter.internal.ResourceRequestBridgeLiferayImpl cannot be cast to javax.servlet.http.HttpServletRequest
Я искал проблему, но не смог найти работающее решение.Любая помощь будет высоко ценится.
Заранее спасибо.
Я также пытался использовать PortletRequest.Ниже приведен код.
PortletRequest request = (PortletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();
Но теперь класс ThemeDisplacy не найден
java.lang.NoClassDefFoundError: com/liferay/portal/theme/ThemeDisplay: javax.el.ELException: java.lang.NoClassDefFoundError: com/liferay/portal/theme/ThemeDisplay
Я не уверен, где мне не хватает.
Спасибо