我正在尝试在不同的portlet应用程序中共享主题和portlet之间的httpsession。但它总是在portlet中返回null值。
主题是发布到servlet以存储httpsession:
HttpSession session = request.getSession();
session.setAttribute("testsession", "testsession");
我试图通过以下方式在portlet中检索会话:
1)
HttpSession session = httpRequest.getSession(false);
System.out.println("session "+session.getAttribute("testsession"));
2)
System.out.println("portletsession :"+renderRequest.getPortletSession().getAttribute("testsession", PortletSession.APPLICATION_SCOPE));
3)
HttpSession httpSession = PortalUtil.getHttpServletRequest(renderRequest).getSession(false);
System.out.println("httpSession 212 in java : "+httpSession.getAttribute("testsession"));
以上所有都返回null。有没有人有经验 在此之前实现此行为?
谢谢,
西里尔
答案 0 :(得分:1)
它在private-session-attributes标记中不起作用。但是我的解决方案是通过portlet实例id将portlet嵌入到主题中。
此处了解更多信息:
http://www.liferay.com/community/wiki/-/wiki/Main/Embedding+a+portlet+in+the+theme
由于
答案 1 :(得分:0)
尝试在liferay-portlet.xml
<private-session-attributes>false</private-session-attributes>
HTH