public static List<BreadcrumbEntry> getPortletBreadcrumbEntries(HttpServletRequest request) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); String name = WebKeys.PORTLET_BREADCRUMBS; List<BreadcrumbEntry> breadcrumbEntries = (List<BreadcrumbEntry>) request.getAttribute(name); if (Validator.isNotNull(portletDisplay.getId()) && !portletDisplay.isFocused() && !Validator.equals( portletDisplay.getId(), PortletProviderUtil.getPortletId( BreadcrumbEntry.class.getName(), PortletProvider.Action.VIEW))) { name = name.concat(StringPool.UNDERLINE.concat(portletDisplay.getId())); List<BreadcrumbEntry> portletBreadcrumbEntries = (List<BreadcrumbEntry>) request.getAttribute(name); if (portletBreadcrumbEntries != null) { breadcrumbEntries = portletBreadcrumbEntries; } } if (breadcrumbEntries == null) { return Collections.emptyList(); } for (int i = 0; i < breadcrumbEntries.size() - 1; i++) { BreadcrumbEntry portletBreadcrumbEntry = breadcrumbEntries.get(i); String url = portletBreadcrumbEntry.getURL(); if (Validator.isNotNull(url) && !CookieKeys.hasSessionId(request)) { HttpSession session = request.getSession(); portletBreadcrumbEntry.setURL(PortalUtil.getURLWithSessionId(url, session.getId())); } } return breadcrumbEntries; }