我想获取Liferay中的站点列表,该列表与http://localhost:8080/group/control_panel/manage/-/sites/sites中出现的列表相同:
在SQL中,我将运行select * from Group_ WHERE site=1
。
如何在Java中获得相同的东西?
GroupServiceUtil似乎没有这种方法。
注意:我的Java代码是在Liferay中运行的模块中,而不是Portlet。
答案 0 :(得分:1)
您可以使用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。