Java 检索Liferay Portlet中Velocity模板集中的会话属性
在我的Portlet中,我在会话中设置了一些属性,我希望在Liferay使用的velocity模板中使用这些属性 我将Java 检索Liferay Portlet中Velocity模板集中的会话属性,java,session,liferay,velocity,Java,Session,Liferay,Velocity,在我的Portlet中,我在会话中设置了一些属性,我希望在Liferay使用的velocity模板中使用这些属性 我将PortletSession上的属性设置如下: portletSession.setAttribute("key", "value", PortletSession.APPLICATION_SCOPE); 现在我想在Liferay的home.vm模板中使用这些,但无论我怎么做,都没有效果: $request.get("key") $request.getAttribute("
PortletSession
上的属性设置如下:
portletSession.setAttribute("key", "value", PortletSession.APPLICATION_SCOPE);
现在我想在Liferay的home.vm
模板中使用这些,但无论我怎么做,都没有效果:
$request.get("key")
$request.getAttribute("key")
$request.getSession().getAttribute("key")
$session.getAttribute("key")
我甚至将密钥放在portal.properties中:
session.shared.attributes=key
但这似乎也不起作用。有人能给我指出正确的方向吗?我自己找到了答案 显然,我需要将
私有会话属性设置为false。我以前试过,但是DTD在需要标记的地方非常具体
将其放置在正确的位置后,它就工作了。在会话属性名称中添加“LIFERAY\u SHARED\u”前缀就足够了,因为session.SHARED.attributes属性的值默认包含它