我可以使用xxf:get-session-attribute()从Proxy Portlet的会话中获取属性吗?

时间:2016-01-20 21:47:53

标签: orbeon

在Orbeon Proxy Portlet中,我已在liferay-portlet.xml

中设置此配置

<private-session-attributes>false</private-session-attributes>

我在另一个portlet中具有相同的配置,我在其中设置会话属性,如LIFERAY_SHARED_MYATTRIBUTE。请注意,在Liferay中,需要LIFERAY_SHARED_前缀来共享portlet之间的会话属性。

当我使用代理Portlet在字段的计算值中调用xxf:get-session-attribute('LIFERAY_SHARED_MYATTRIBUTE')时,我没有得到任何值。我应该这意味着此功能仅适用于在Orbeon服务器上获取会话属性吗?

1 个答案:

答案 0 :(得分:1)

portlet只是Form Runner实际运行的servlet的代理。

为了在Form Runner(在servlet中运行)和portlet之间共享会话属性,他们必须:

  • 在同一个容器中运行
  • 具有相同的会话ID

但是目前浏览器和代理portlet之间的会话(所以Liferay会话)以及代理portlet和Form Runner之间的会话是不同的。

所以我不认为会话共享可以通过这种方式进行。