Java 在Liferay中获取特定的portlet首选项

Java 在Liferay中获取特定的portlet首选项,java,liferay,portal,Java,Liferay,Portal,我将Liferay 6.1与Struts2一起使用,并尝试在action类中获取portlet首选项。我的项目包括3个portlet,它们都使用相同的action类。该类实现了PortletPreferencesAware接口并重写setPortletPreferences()方法。我的问题是,由于项目中的所有三个portlet都有不同的首选项,将返回哪个portlet的首选项?使用action类中的preferences.getValue(),我似乎无法获得所需的值 注意,我可以在JSP中获得

我将Liferay 6.1与Struts2一起使用,并尝试在action类中获取portlet首选项。我的项目包括3个portlet,它们都使用相同的action类。该类实现了
PortletPreferencesAware
接口并重写
setPortletPreferences()
方法。我的问题是,由于项目中的所有三个portlet都有不同的首选项,将返回哪个portlet的首选项?使用action类中的
preferences.getValue()
,我似乎无法获得所需的值

注意,我可以在JSP中获得首选项,这样我就知道它们设置正确


谢谢

我希望首选项的存储取决于调用的portlet,而不是实现类。因此,即使在3个portlet之间共享实现,默认情况下每个portlet都有自己的首选项集

通常,应用程序的状态将通过请求/响应对象及其属性传递到实现中,您必须从那里开始,或者最好通过API。只是不要仅仅因为3个portlet共享相同的实现,就期望它们在开箱即用时共享相同的首选项