2011-12-22 35 views
4

我目前正在使用门户,我需要使用Liferay作为Portal服务器。如何在liferay中设置门户网站全局变量?

我的应用程序将有一些全局设置,我需要在我的门户中访问所有portlet。

什么是加载这样的配置settigs的最佳实践?我希望从配置文件/数据库中读取这些配置设置。但应用程序启动时只能读取一次。我不希望为每个请求从数据库/文件读取设置。

另外,我会使用速度框架的模板,我可以在我的速度模板中读取相同的全局变量?

我可以把这些全局变量放在我的portal-ext.properties文件中,如果是的话,我该如何加载默认值呢?

任何其他方法也将有所帮助,

在此先感谢

回答

4

添加以下portal-ext.properties

my.key=myValue 

您可以实现PropsKeys的关键:

public class ExtPortalKeys implements PropsKeys { 
public static final String MY_KEY = "my.key"; 
} 

和然后调用:

PrefsPropsUtil.getString(companyId, ExtPortalKeys.MY_KEY); 

问候

0

一种方法是使用登录后的行动挂钩。

定义类的portal-ext.properties文件

login.events.post = com.xxx.PostLoginAction

在课堂上,你可以从文件中读取/数据库的配置或性能。您可以将它们设置为可由所有portlet共享的全局会话值。

在登录后的动作和会话共享

更多信息可在以下链接

http://www.liferay.com/community/wiki/-/wiki/Main/Custom+Post-login+Redirect

http://www.liferay.com/community/wiki/-/wiki/Main/Session+Sharing