2013-10-15 60 views
2

我在寫一個Portlet,它將放置在給定的liferay站點上。 Liferay可以有多個網站,可以是公共或私人網站。從Portlet的JSP生成到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 

回答

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; 

最好的問候, 阿蘭

+0

這甚至包括完整網址和端口。謝謝阿蘭。 – dube

1

您可以使用themeDisplay.getLayout().getRegularURL(request)themeDisplay.getScopeGroup().getPathFriendlyURL(false,themeDisplay)

HTH

+0

的第一個片段是鏈接到當前頁面,第二一個是HTTP鏈接://本地主機:8080 /網絡/和缺少站點上下文 – dube