如何在AEM中的/ etc / tags下找到节点的路径?

时间:2016-08-31 05:01:08

标签: aem

我想以编程方式在AEM中搜索/ etc / tags下的标记。 例如:

文件夹结构就好 在/ etc /标签/ uder标签有多个标签 1.20101 / ate2 2.73883 3.44qqiw 4.222

如果我想搜索ate2,我应该得到/ etc / tags / 20101 / ate2。

2 个答案:

答案 0 :(得分:0)

您可以使用QueryBuilder API进行查询。

示例查询将是

type=cq:Tag
path=/etc/tags
nodename=ate2

示例SQL2查询将是

select * from [cq:Tag] as s where ISDESCENDANTNODE('/etc/tags') AND NAME(s)='ate2'

答案 1 :(得分:0)

一个解决方案是按照rakhi的建议编写查询,另一个解决方案是利用TagManager API为您提供搜索标记的大量方法,一旦获得Tag实例,您就可以从中获取路径。可以找到TagManager的Javadoc hereTag here

作为参考,您可以查看代码here。如果您最终使用此方法,请记住一件事,您需要通过创建系统用户来获取ResourceResolver而不是调用resolverFactory.getAdministrativeResourceResolver(null),请参阅文章here