2011-12-22 87 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