我正在将 Liferay 6.1 与 Struts2 一起使用,并尝试在操作类中获取 portlet 首选项。我的项目包括 3 个 portlet,它们都使用相同的操作类。该类实现 PortletPreferencesAware
接口(interface)并重写 setPortletPreferences()
方法。我的问题是,由于项目中的所有三个 portlet 都有不同的首选项,因此将返回哪个 portlet 的首选项?我似乎无法在操作类中使用 preferences.getValue()
获取我想要的值。
注意,我可以在 JSP 中获取首选项,因此我知道它们设置正确
谢谢
最佳答案
我希望根据调用的 portlet 而不是根据实现类来存储首选项。因此,即使您在 3 个 portlet 之间共享实现,默认情况下每个 portlet 也会有自己的一组首选项。
通常,应用程序的状态将通过请求/响应对象及其属性传递到实现中,您必须从那里开始 - 或者最好通过 API。只是不要期望这 3 个 portlet 共享相同的开箱即用首选项,仅仅因为它们共享相同的实现。
关于java - 在 Liferay 中获取特定的 portlet 首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26158470/