Как отобразить URL страницы сайта в портлете Liferay jsp?

Я хотел бы показать URL-адреса страниц сайта в портлете Liferay jsp. Я использую Liferay 6.1 EE. Я хотел бы использовать локализованный заголовок страницы и другие дополнительные поля (например, cssClass).

Я сделал то же самое для панели навигации, для моей темы скорости:

#if (!$page_group.isUser())

    #set($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))

    <ul id="quickLinks">
        <li>
            #set($currFriendlyUrl = "/i-want-to")
            #set($currLayout = $layoutLocalService.getFriendlyURLLayout($group_id, true, $currFriendlyUrl))
            <a href="$currLayout.getRegularURL($request)" $currLayout.getTarget() class="$currLayout.getExpandoBridge().getAttribute('cssClass')">$currLayout.getName($locale)</a>
        </li>
    </ul>
#end

Как я мог написать тот же код, используя JSP?

Я нашел похожий вопрос, но в ответах не было четкого примера кода для jsp.

1 ответ

Решение

Удалось реализовать это с помощью jsp следующим образом:

<%@ page import="com.liferay.portal.service.LayoutLocalServiceUtil" %>
<% if (!layout.getGroup().isUserGroup()) { %>
    <ul id="quickLinks">
        <li>
            <% Layout currLayout = LayoutLocalServiceUtil.getFriendlyURLLayout(scopeGroupId, true, "/i-want-to"); %>
            <a href="<%=currLayout.getRegularURL(request)%>" <%=currLayout.getTarget()%> class='<%=currLayout.getExpandoBridge().getAttribute("cssClass")%>'><%=currLayout.getName(locale)%></a>
        </li>
    </ul>
<% } %>
Другие вопросы по тегам