2016-06-13 54 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