0

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

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

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

4

1 回答 1

0

我刚刚找到了解决我自己问题的方法。似乎 IBM 没有完全遵循 JSR286 规范(对我有利),并根据PortletPreferences用户所处的 portlet 模式确定范围。

如果用户处于VIEWEDITHELP模式(JSR286 规范中的默认值),则首选项的存储方式与 JSR286 规范中定义的一样。它们依赖于用户和 portlet 实例,对个性化很有用。

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

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

于 2013-07-12T13:00:07.147 回答