我正在尝试使用 Liferay 共享会话属性。
我想在不同的 WAR 文件中的两个不同的 portlet 上使用相同的属性,使用基于以下代码的不同 URL:
Liferay 7 无法设置全局会话属性
我要保存的值:单个字符串
在 portlet 1 中设置:
String sharedKey = "LIFERAY_SHARED_" + key;
HttpSession session = PortalSessionThreadLocal.getHttpSession();
session.setAttribute(sharedKey, bean);
Portlet 1 能够很好地保留、重置和使用属性。
在 portlet 2 中读取:
key = "LIFERAY_SHARED_" + key;
HttpSession session = PortalSessionThreadLocal.getHttpSession();
Object bean = session.getAttribute(key);
此值始终为空。
两个 portlet 都是 Spring MVC portlet。
两个 portlet 都有:
<instanceable>false</instanceable>
<private-session-attributes>false</private-session-attributes>
<requires-namespaced-parameters>false</requires-namespaced-parameters>
在他们的 liferay portlet XML-s 中。
此外,这两个 portlet 都扩展了 org.springframework.web.portlet.DispatcherPortlet。
Liferay 版本:
Liferay DXP 数字企业 7.0.10 GA1
任何帮助将不胜感激。让我知道是否有人需要任何澄清。
非常感谢,彼得
九州编程
相关分类