如何在liferay(java)中获取当前组ID(或社区ID)?

Pat*_*Guy 5 java liferay vaadin

我正在Liferay 6中使用Vaadin开发portlet,我需要获取portlet所在社区的ID.怎么做?

bla*_*ank 11

Liferay中没有社区实体,它只是另一种群体(参见参考资料GroupConstants)

如果您有权访问某个ThemeDisplay对象,我认为这将为您提供社区的ID

long id = themeDisplay.getLayout().getGroupId();
Run Code Online (Sandbox Code Playgroud)

在struts动作中,您可以像这样获取ThemeDisplay:

ThemeDisplay themeDisplay = 
     (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
Run Code Online (Sandbox Code Playgroud)

哪里request可以是一个RenderRequest或一个ActionRequest.