组件导航

Portlet navigation

我们正在评估在下一个项目中使用 JSR-286 portlet。用户将能够使用我们的托管服务构建网络应用程序。每个用户都将在我们的 portlet 服务器上获得一个网站。我们的场景之一是:

有什么方法可以获取 "table portlet" 中 "detail portlet" 的 url。类似于 List<URL> PortletUtil.getPortletURLs(String portletType)?

我们不希望用户必须在 "table portlet" 中配置目标 URL,以避免在更改详细信息页面 URL 时断开链接。

我们还没有决定使用哪个 portlet 服务器(如果有的话),所以服务器特定的解决方案是可以的。

Portlet 规范没有提及页面。从 JSR-286 的角度来看,您的问题的答案是 "No".

您还标记了 Liferay 和 GateIn,它们拥有专有 API。无需详细说明,在 Liferay 中,您将在站点(API 名称:组)中查找 "layout"(这是页面的 API 名称)。您将为此任务使用 LayoutService 或 LayoutLocalService。根据您的用例,不断查找页面可能会影响您的性能,因此您可能希望缓存结果(但首先测量它是否确实是相关的性能影响)。如果您不想显式配置页面,您还需要决定如果不同的页面包含相同的细节 portlet 时如何反应。

在 GateIn 的 API 上,我无法给出任何提示。