AEM/CQ:用于具有表格输出的一次性JCR-SQL/SQL2/XPath查询的UI?
我正在我们的AEM安装中做一些使用研究。我想找到一个组件的所有实例,看看它们对某个配置选项有什么价值。因此,基本上,我想使用AEM/CQ:用于具有表格输出的一次性JCR-SQL/SQL2/XPath查询的UI?,aem,jcr-sql2,Aem,Jcr Sql2,我正在我们的AEM安装中做一些使用研究。我想找到一个组件的所有实例,看看它们对某个配置选项有什么价值。因此,基本上,我想使用sling:resourceTypemyComponent从所有节点中选择标题和myOption属性 我相信JCR-SQL2查询将是: SELECT [title], [myProperty] FROM [nt:base] where [sling:resourceType] like 'path/to/my/component' 我的问题是,我找不到运行此查询的UI
sling:resourceType
myComponent
从所有节点中选择标题
和myOption
属性
我相信JCR-SQL2查询将是:
SELECT [title], [myProperty] FROM [nt:base]
where [sling:resourceType] like 'path/to/my/component'
我的问题是,我找不到运行此查询的UI
- CRX:DE查询工具(CRX:DE>Tools>Query)接受XPath或SQL2,但仅显示匹配节点的路径。我确实可以单击每个节点以缩放到该节点,但这很繁琐。我想要一个带有标题和属性值的表格输出
- 查询生成器调试器(
)使用自己的基于URL的查询语法,只输出JSON。我根据URL参数重新创建了查询/libs/cq/search/content/querydebug.html
。。。但我仍然不想编写代码来解析JSON并显示一个表property=sling:resourceType property.value=path/to/my/component p.hits=selective p.properties=title myProperty p.limit=-1
- 我知道我可以编写一个类/组件来显示它,但这是一个一次性的查询,我只是在四处挖掘。我不希望仅仅为了发送和显示这个查询而编写Java、JS或JSP
def QUERY = "SELECT [jcr:lastModified], [jcr:title] FROM [nt:base] WHERE [sling:resourceType] = 'foundation/components/title'"
session.workspace.queryManager.createQuery(QUERY, "JCR-SQL2").execute().rows.each { r ->
println r.values.collect { it.string }.join('\t')
}
脚本可以简单地粘贴到文本区域,无需编译或上传任何内容到服务器。您可以使用批量编辑器
/etc/importers/bulkeditor.html
。这非常符合你的要求
只需将根路径设置为/content
,取消选中内容模式,对于查询参数,请使用“sling:resourceType”:path/to/my/component
。将自定义属性设置为标题,myOption
。它在表格中显示结果
更多信息:
Bulk editor仅适用于简单查询,对于复杂查询,您可以尝试以下方法:。AEM FIDLE与Groovy Console基本相同,但允许您通过JSP(或AEM支持的任何其他脚本语言)执行代码。。。