Java 如何在liferay中设置门户范围的全局变量?
我目前正在开发一个门户,需要使用Liferay作为门户服务器 我的应用程序将具有一些全局设置,我需要在门户中的所有portlet中访问这些设置 加载此类配置设置的最佳实践是什么?我希望从配置文件/数据库中读取这些配置设置。但它应该在应用程序启动时只读取一次。我不希望每次请求都从数据库/文件中读取设置 另外,我将使用velocity框架作为模板,我可以在velocity模板中读取相同的全局变量吗 我可以将这些全局变量放在我的portal-ext.properties文件中吗?如果可以,我如何在其中加载默认值 任何其他方法也会有所帮助 提前感谢将以下内容添加到portal-ext.properties: 您可以为密钥实现PropsKeys:Java 如何在liferay中设置门户范围的全局变量?,java,liferay,portlet,portal,Java,Liferay,Portlet,Portal,我目前正在开发一个门户,需要使用Liferay作为门户服务器 我的应用程序将具有一些全局设置,我需要在门户中的所有portlet中访问这些设置 加载此类配置设置的最佳实践是什么?我希望从配置文件/数据库中读取这些配置设置。但它应该在应用程序启动时只读取一次。我不希望每次请求都从数据库/文件中读取设置 另外,我将使用velocity框架作为模板,我可以在velocity模板中读取相同的全局变量吗 我可以将这些全局变量放在我的portal-ext.properties文件中吗?如果可以,我如何在其中
public class ExtPortalKeys implements PropsKeys {
public static final String MY_KEY = "my.key";
}
然后打电话:
PrefsPropsUtil.getString(companyId, ExtPortalKeys.MY_KEY);
一种方法是使用登录后操作挂钩 将类定义到portal-ext.properties文件 login.events.post=com.xxx.PostLoginAction 在类中,您可以从文件/数据库中读取配置或属性。您可以将这些设置为可由所有portlet共享的一些全局会话值 有关登录后操作和会话共享的更多信息,请访问以下链接
PrefsPropsUtil.getString(companyId, ExtPortalKeys.MY_KEY);