我想同时获取这两个值,并且由于在加载 portlet 时会执行 init(Portletconfig),因此我认为这些值是否应该可用没有任何疑问。
对于 portletId 我试过了
String portletId = ((PortletConfigImpl) portletConfig).getPortletId();
但似乎我不能。猜猜这是因为 impl 在另一个 jar 中,不应该从 portlet 访问
顺便说一句,我的主要目标是将两个参数都传递给另一个非请求上下文,这样我就可以做到
final PortletPreferences prefs = PortletPreferencesFactoryUtil.getLayoutPortletSetup(LayoutLocalServiceUtil.getLayout(plid), portletId);
实时读取 portlet 的首选项。如果有任何其他方式可以从 init() 中表明这一点,比如获得整个偏好,那就足够了
编辑:我找到了一种不同的方法,并打开了一个新问题,稍微改变 了 Liferay:从 init() 获取 PortletID 和 companyID