以编程方式获取 Liferay 中的站点列表

Programmatically get list of sites in Liferay

我想获取 Liferay 中的站点列表,与 http://localhost:8080/group/control_panel/manage/-/sites/sites 中显示的相同:

在 SQL 我会 运行 select * from Group_ WHERE site=1.

如何在Java中得到同样的东西?

GroupServiceUtil好像没有这个方法

注意:我的 Java 代码在 Liferay 的模块 运行ning 中,而不是 portlet。

您可以使用 GroupLocalServiceUtil (https://docs.liferay.com/dxp/digital-enterprise/7.0-sp1/javadocs/portal-kernel/com/liferay/portal/kernel/service/GroupLocalServiceUtil.html#getGroups-long-long-boolean-) 的 public List<Group> getGroups(long companyId, long parentGroupId, boolean site)。当您不在基于 OSGi 的 portlet 中时,它应该是可调用的。如果您在 OSGi 组件内部,您可以注入 GroupLocalService。 如果您不关心 parentGroup,您可以使用 GroupConstants.ANY_PARENT_GROUP_ID 作为 parentGroupId。