liferay - 如何在 Liferay Portlet 中通过结构名称获取 Web 内容?

标签 liferay structure portlet

我需要获取在 jsp portlet 中使用特定结构创建的所有 Web 内容。

我尝试使用 StructureName 但这会引发异常

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

如何按结构获取网页内容?

最佳答案

在查询期刊文章时需要使用 StructureId 字段,并像这样将 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);

        }

关于liferay - 如何在 Liferay Portlet 中通过结构名称获取 Web 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37788806/

相关文章:

java - <C :if/Choose/When> condition to be made as one 的多个实例

eclipse - 使用 eclipse 在 liferay 中创建自己的 portlet 的教程

c - 空格分隔的文件到结构数组 C

validation - Spring 门户 MVC。 @ResourceMapping 之前的验证。 @ResourceMapping -> @RenderMapping

spring - 注入(inject) Autowiring 依赖项失败嵌套异常

oracle - Liferay portlet 非liferay JNDI 数据源null

struts2 - Liferay - Struts2 Portlet 示例

java - 将liferay用户id提供到orbeon表单运行器生成的xml中

.net - 使用WCF的应用程序结构

c++ - 在八叉树中存储具有共享边的三角形