首页 文章

AEM SQL服务

提问于
浏览
0

对不起,如果之前已经回答过 . 长话短说,我的任务是找出一种查询内容/页面的方法,以便能够在不同的页面中显示预览 . 这对我来说不是一个问题,除了我从未使用过AEM,其他开发人员没有网络服务经验 .

从我所看到的是提到OSGi到创建.NET服务,所以我不确定他们所建议的是否对我想要完成的事情有些过分 . 我能够在CRXDE Lite中运行SQL查询(select * from nt:base where ....),我可以看到我想要提取的资源类型值 . 是否可以只使用查询创建JSP文件?

1 回答

  • 2

    简短的回答,是的,它可以直接从jsp查询,但从开发人员的立场来看这是一个可怕的坏主意 .

    有几种查询存储库的方法,这完全取决于风格和要求 . 但强烈建议构建一个java服务,它从显示逻辑(也就是JSP)中抽象出实际的查询实现 . 这样您就可以在其他地方重用您的代码 . 如果您仍然坚持在JSP中直接执行它,则可以直接使用QueryBuilder服务来构造和执行查询而不是您自己的服务 . 一个基本的例子可以在adobe找到 .

    我以多种方式查询存储库,它们都依赖于上下文和复杂性

    • XPath(尽管已弃用 - 它仍然在很多查询中排在最前面,并且它很快就不会消失)我相信

    • SQL or SQL2(该链接适用于jboss docs,但语法相同)

    • Predicates

    上面的项目可以通过多种方式运行,我的个人风格是querybuilder api或resourceResolver.findResources(String query,String language),具体取决于上下文 .

    测试除crx / de之外的查询的有用工具是/libs/cq/search/content/querydebug.html

相关问题