每个portlet实例的全局配置(独立于用户)

时间:2013-07-12 08:08:22

标签: storage portlet jsr286

JSR286规范是否提供了存储portlet配置参数的接口或类? PortletPreferences界面允许我存储首选项,但据我所知,这些是用户特定的。我还读到你可以将东西存储在PortletSession中,但它的范围也是用户特定的(我不认为它是持久的)。

我读到的另一件事是PortletContext,它可以在应用程序范围内使用。我读到有一个名为setAttribute的属性,但我不知道这些属性是否持久。如果我重新启动门户网站服务器,我不知道这些设置是否仍然存在。另外,如果我有多个portlet实例,我想对每个实例进行不同的设置。

所以我的问题是; portlet 2.0 API(JSR286)中是否有任何接口/类可以持久地在portlet实例范围内存储数据?

1 个答案:

答案 0 :(得分:0)

我刚刚找到了解决自己问题的方法。看来IBM并没有完​​全遵循JSR286规范(在我的优势),并根据用户所在的portlet模式确定PortletPreferences的范围。

如果用户处于 VIEW EDIT HELP 模式(JSR286规范中的默认设置),则首选项将按照已定义的方式存储在JSR286规范中。它们依赖于用户和portlet实例,对个性化非常有用。

如果用户处于 EDIT_DEFAULTS 模式(自定义模式),则首选项将全局存储为一个portlet实例。这意味着如果在多个页面上使用portlet,则配置仅适用于其中一个实例。

最后,如果用户处于 CONFIG 模式(自定义模式),则首选项将全局存储为portlet。这意味着所有portlet实例的所有用户都将使用相同的配置。