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

Can I use xxf:get-session-attribute() to get attributes from the Proxy Portlet's session?

在 Orbeon 代理 Portlet 中,我在 liferay-portlet.xml 中设置了此配置:

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

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

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

Portlet 只是 Form Runner 实际上 运行s.

的 servlet 的代理

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

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

但目前浏览器与代理 portlet 之间的会话(即 Liferay 会话)与代理 portlet 与 Form Runner 之间的会话是不同的。

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