Как да получа URL адреса на екземпляра на Layout в Liferay? Какво е приятелска URL база?

Да предположим, че имам екземпляр на Layout (в Java или JSP) и искам да получа неговия URL адрес.

Оформлението представлява страница. Страницата има „приятелски URL адрес“ и мога да го получа чрез свойството friendlyURL.

Но какво да кажем за ПЪЛНИЯ url?

Мога също така да получа приятелския URL адрес на scopeGroup, където

Group scopeGroup = themeDisplay.getScopeGroup();

и да получите по-къса част, която също не е пълна.

Company.getPortalURL

също така не съдържа целия друг текст (не включва частите за порт и "/web").

Вътре в \ROOT\html\portlet\layouts_admin\layout\details.jsp намерих следния код за изграждането му

    boolean privateLayout = ((Boolean)renderRequest.getAttribute("edit_pages.jsp-privateLayout")).booleanValue();
    Layout selLayout = (Layout)renderRequest.getAttribute("edit_pages.jsp-selLayout");

    StringBuilder friendlyURLBase = new StringBuilder();
    friendlyURLBase.append(themeDisplay.getPortalURL());


    LayoutSet layoutSet = selLayout.getLayoutSet();

    String virtualHostname = layoutSet.getVirtualHostname();

    if (Validator.isNull(virtualHostname) || (friendlyURLBase.indexOf(virtualHostname) == -1)) {
        friendlyURLBase.append(scopeGroup.getPathFriendlyURL(privateLayout, themeDisplay));
        friendlyURLBase.append(scopeGroup.getFriendlyURL());
    }

но този код се основава на странни параметри edit_pages.jsp-privateLayout и edit_pages.jsp-selLayout, които се страхувам, че няма да бъдат достъпни в нормален портлет.

И така, как да получите ПЪЛНИЯ URL адрес на страницата?


person Dims    schedule 06.05.2013    source източник


Отговори (1)


Опитайте тази:

PortalUtil.getLayoutFullURL(layout, themeDisplay)
person Andrea Di Giorgi    schedule 06.05.2013
comment
Между другото, разгледайте услугата PortalUtil: тя има много интересни полезни методи :-) - person Andrea Di Giorgi; 07.05.2013
comment
Да, те поставят всичко на различни места: в ...ServiceUtil класове, в променливи, в JSP персонализирани тагове, в свойства, в методи, а също и в PortalUtil. Забравих да потърся там. - person Dims; 07.05.2013