【发布时间】:2011-03-24 14:00:31
【问题描述】:
我正在 Liferay 6 中使用 Vaadin 开发 portlet,我需要获取 portlet 所在社区的 ID。是怎么做到的?
【问题讨论】:
我正在 Liferay 6 中使用 Vaadin 开发 portlet,我需要获取 portlet 所在社区的 ID。是怎么做到的?
【问题讨论】:
Liferay 中没有社区实体,它只是另一种团体(参见GroupConstants)
如果您有权访问 ThemeDisplay 对象,我认为这将为您提供社区 ID
long id = themeDisplay.getLayout().getGroupId();
在 struts 动作中,您可以像这样获得 ThemeDisplay:
ThemeDisplay themeDisplay =
(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
其中request 可以是RenderRequest 或ActionRequest。
【讨论】:
对于那些使用 Spring MVC 作为 Liferay portlet 的人,请将其添加到 ControllerClass
@ModelAttribute("tD")
public String getThemeDisplay(RenderRequest req) {
ThemeDisplay themeDisplay = (ThemeDisplay) req.getAttribute(WebKeys.THEME_DISPLAY);
return themeDisplay.getPathThemeImages();
}
要在 jsp 中引用图像,只需添加
<img src="${tD}/[image-path] />
【讨论】: