我正在编写一个Portlet,它将被放置在给定的liferay网站上。 Liferay可以有多个站点,可以是公共站点或私人站点。
如何生成链接(在我的portlet JSP中)到放置portlet的站点的根页面?
例如对于网站mySite
我期望http://localhost:8080/web/mySite/
这两个不是我需要的:
themeDisplay.getPortalURL() // "liferay portal web root", not site root
themeDisplay.getURLHome() // default site home, not necessarily my specific site
答案 0 :(得分:4)
我希望以下内容符合您的需求:
String portalPath = PortalUtil.getPortalURL(themeDisplay);
boolean isPrivateLayout = themeDisplay.getLayout().isPrivateLayout();
Group scopeGroup = themeDisplay.getScopeGroup();
String groupUrl = PortalUtil.getGroupFriendlyURL(scopeGroup,isPrivateLayout,themeDisplay);
String result = portalPath + groupUrl;
祝你好运, 阿兰
答案 1 :(得分:1)
您可以使用themeDisplay.getLayout().getRegularURL(request)
或themeDisplay.getScopeGroup().getPathFriendlyURL(false,themeDisplay)
HTH