【问题标题】:Generate link to Liferay root site from Portlet's JSP从 Portlet 的 JSP 生成指向 Liferay 根站点的链接
【发布时间】:2013-10-15 20:33:42
【问题描述】:

我正在编写一个 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

【问题讨论】:

    标签: liferay liferay-6


    【解决方案1】:

    希望以下内容能满足您的需求:

    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;
    

    最好的问候, 阿兰

    【讨论】:

    • 这甚至包括完整的 URL 和端口。谢谢阿兰。
    【解决方案2】:

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

    HTH

    【讨论】:

    • 第一个 sn-p 是指向当前页面的链接,第二个是指向 localhost:8080/web 的链接,并且缺少站点上下文
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多