JSR286规范是否提供了任何接口或类来存储portlet的配置参数?PortletPreferences界面允许我存储首选项,但据我所知,这些是特定于用户的。我还读到可以在PortletSession中存储内容,但它的作用域也是特定于用户的(我不认为它是持久性的)。
我读到的另一件事是PortletContext,它在应用程序范围内可用。我读到有一个名为setAttribute的属性,但我不知道这些属性是否持久。如果我重新启动portal服务器,我不知道这些设置是否仍然存在。此外,如果我有多个portlet实例,我希望为每个实例进行不同的设置。
所以我的问题是:Portlet2.0API (JSR286)中是否有接口/类可以在portlet实例作用域中持久地存储数据?
发布于 2013-07-12 21:00:07
我刚刚找到了我自己问题的解决方案。看起来IBM并没有完全遵循JSR286规范(这是我的优势),而是根据用户所处的PortletPreferences模式来确定portlet的范围。
如果用户处于视图、EDIT或HELP模式( JSR286规范中的缺省设置),则会按照JSR286规范中定义的方式存储首选项。它们依赖于用户和portlet实例,对个性化很有用。
如果用户处于EDIT_DEFAULTS模式(自定义模式),则为一个portlet实例全局存储首选项。这意味着如果在多个页面上使用portlet,则配置仅适用于其中一个实例。
最后,如果用户处于portlet配置模式(自定义模式)中,那么将全局存储portlet的首选项。这意味着所有portlet实例的所有用户都将使用相同的配置。
https://stackoverflow.com/questions/17610389
复制相似问题