2012-01-08 91 views

回答

0

对不起,我需要添加另一个答案,因为评论有l ess charachters。对于每个网址,您必须创建pageSettingsURL。写下面的逻辑中,为社会,你有兴趣使用LayoutLocalServiceUtil类的所有布局一个循环,并通过PLID

PortletURL pageSettingsURL =新PortletURLImpl( 要求,PortletKeys.LAYOUT_MANAGEMENT,腰椎间盘突出症, PortletRequest.RENDER_PHASE);

  pageSettingsURL.setWindowState(WindowState.MAXIMIZED); 
      pageSettingsURL.setPortletMode(PortletMode.VIEW); 

      pageSettingsURL.setParameter(
       "struts_action", "/layout_management/edit_pages"); 

      if (layout.isPrivateLayout()) { 
       pageSettingsURL.setParameter("tabs1", "private-pages"); 
      } 
      else { 
       pageSettingsURL.setParameter("tabs1", "public-pages"); 
      } 

      pageSettingsURL.setParameter("redirect", currentURL); 
      pageSettingsURL.setParameter(
       "groupId", String.valueOf(scopeGroupId)); 
      pageSettingsURL.setParameter("selPlid", String.valueOf(plid)); 
+0

感谢这段惊人的代码! – Karol 2012-01-30 22:06:54

0

尝试

themeDisplay.getURLPageSettings()。的toString()

如果您正在使用

你应该得到themeDisplay你应该在JSP页面中获得themeDisplay请求属性在您的portlet类

+0

它可以工作,但它仅返回当前显示的网站(布局)的“管理网页”网址。我需要的是为我有权访问的任何给定站点(布局)生成“URLPageSettings”。 – Karol 2012-01-16 20:29:02