我需要在jsp portlet中获取使用特定Structure创建的所有Web Content。
我尝试使用structureName但这会抛出异常
ClassLoader cl = PortalClassLoaderUtil.getClassLoader();
DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(JournalArticle.class, cl)
.add(PropertyFactoryUtil.forName("structureName").eq("Empresa"));
List <JournalArticle> journalArticles = JournalArticleLocalServiceUtil.dynamicQuery(dynamicQuery);
我如何按结构获取网页内容?
答案 0 :(得分:2)
在查询journalarticles并将structureKey作为值传递时,您需要使用structureId字段
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);
}
答案 1 :(得分:1)
没有必要构建动态查询并使用类加载器,JournalArticleService
可以做到这一点。
请参阅JournalArticleLocalServiceUtil#getStructureArticles(groupId, dmStructureKey)
。