在Liferay Portlet中设置的Velocity Template中检索会话属性

时间:2013-07-12 09:12:43

标签: java session liferay velocity

在我的Portlet中,我在会话中设置了一些属性,我希望在Liferay使用的力度模板中使用这些属性。

我在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

但这似乎也不起作用。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

自己找到答案。

显然我需要将private-session-attributes设置为false。我之前尝试过,但DTD非常具体,需要标签。

将它放在正确的位置后,它就可以了。

答案 1 :(得分:0)

在会话属性名称中添加“LIFERAY_SHARED_”前缀应该足够了,因为session.shared.attributes属性的值默认包含它。