2016-06-13 40 views
3

我需要在jsp portlet中獲取使用特定結構創建的所有Web內容。如何通過Liferay Portlet中的結構名稱獲取Web內容?

我嘗試使用structureName但這拋出excepcion

ClassLoader cl = PortalClassLoaderUtil.getClassLoader(); 
DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(JournalArticle.class, cl) 
     .add(PropertyFactoryUtil.forName("structureName").eq("Empresa")); 
List <JournalArticle> journalArticles = JournalArticleLocalServiceUtil.dynamicQuery(dynamicQuery); 

我如何獲得通過結構的網頁內容?

回答

1

您需要使用structureId場時查詢journalarticles和傳遞structureKey的價值像這樣

DynamicQuery dynamicQueryStructure = DynamicQueryFactoryUtil.forClass(
       DDMStructure.class).add(PropertyFactoryUtil.forName("name").like(
       "%>Empresa</Name>%")); 

     List<DDMStructure> structures = DDMStructureLocalServiceUtil.dynamicQuery(dynamicQueryStructure, 0, 1); 
     if(!structures.isEmpty()) { 
      String structureKey = structures.get(0).getStructureKey(); 
      ClassLoader cl = PortalClassLoaderUtil.getClassLoader(); 
      DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(JournalArticle.class, cl) 
        .add(PropertyFactoryUtil.forName("structureId").eq(structureKey)); 
      List<JournalArticle> journalArticles = JournalArticleLocalServiceUtil.dynamicQuery(dynamicQuery); 

     } 
+0

完美,很多謝謝! – MGar

相關問題