2011-12-22 15 views
4

私は現在ポータルで作業しており、ポータルサーバーとしてLiferayを使用する必要があります。ポータル全体のグローバル変数をliferayに設定するにはどうすればいいですか?

私のアプリケーションには、ポータル内のすべてのポートレットでアクセスする必要のあるグローバル設定がいくつかあります。

このような設定を読み込むにはどのような方法がありますか?これらの構成設定を構成ファイル/データベースから読み取るようにします。アプリケーションの起動時に一度だけ読み取る必要があります。私はデータベース/ファイルから各要求のために設定を読み込むことを望みません。

また、私はテンプレート用のベロシティフレームワークを使用していますが、ベロシティテンプレートで同じグローバル変数を読み取ることはできますか?

これらのグローバル変数を私のportal-ext.propertiesファイルに入れることができます。はいの場合、どのようにデフォルト値を読み込むことができますか?

my.key=myValue 

をあなたがキーのPropsKeysを実装することができます:

任意の他のアプローチも、事前

答えて

4

おかげでportal-ext.propertiesに以下を追加し、役立つだろう

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

およびその後、呼び出し:

PrefsPropsUtil.getString(companyId, ExtPortalKeys.MY_KEY); 

をよろしく

0

一つのアプローチは、ログイン後のアクションフックを使用することです。

は、ファイル/データベースから設定やプロパティを読み取ることができ、クラスで

login.events.post = com.xxx.PostLoginAction

ファイルportal-ext.propertiesにあなたのクラスを定義します。これらを、すべてのポートレットで共有できるいくつかのグローバル・セッション値として設定できます。ポストログインアクションとセッション共有の

詳しい情報は

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

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

以下のリンクで入手可能です
関連する問題