我正在开发一个JSF 2 Portlet,但我需要获取全局会话变量。使用JSF的Portlet会话Liferay Portlets
请求工作正常:
FacesContext facesContext = FacesContext.getCurrentInstance();
PortletRequest request = (PortletRequest) facesContext.getExternalContext().getRequest();
但会议为空:
PortletSession session = request.getPortletSession(false);
如果把这个代码的Liferay-portlet.xml文件工作正常,但我不能这样做IPC:Inter Portlet通信
<!-- Portlet session -->
<private-request-attributes>false</private-request-attributes>
<private-session-attributes>false</private-session-attributes>
如何在不使用最后一个代码的情况下获取和设置变量会话?
感谢
今天,我试过了这一点:
FacesContext facesContext = FacesContext.getCurrentInstance();
PortletRequest request = (PortletRequest) facesContext.getExternalContext().getRequest();
HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(request);
HttpSession session = httpRequest.getSession(true);
System.out.println(session.getAttribute("XXXX"));
但空
我不做Portlet,但不应该将'true'作为* create *参数传递吗? 'getPortletSession(真)'。这在逻辑上会更有意义。 – BalusC
BalusC with true,not works –
你在哪里设置属性?请提供该片段。 –