我可以使用 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 之间的会话是不同的。
所以我认为会话共享不能以这种方式进行。
在 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 之间的会话是不同的。
所以我认为会话共享不能以这种方式进行。