AEM의/etc/태그 아래에있는 태그를 프로그래밍 방식으로 검색하려고합니다. 예에 대한 :AEM의/etc/tags에서 노드의 경로를 찾는 방법은 무엇입니까?
폴더 구조가 을/etc/태그/ uder 태그처럼 거기에 여러 개의 태그 1.20101/ate2 2.73883 3.44qqiw 4.222
내가 검색하려는 경우 내가 가야 ate2/etc/tags/20101/ate2.
AEM의/etc/태그 아래에있는 태그를 프로그래밍 방식으로 검색하려고합니다. 예에 대한 :AEM의/etc/tags에서 노드의 경로를 찾는 방법은 무엇입니까?
폴더 구조가 을/etc/태그/ uder 태그처럼 거기에 여러 개의 태그 1.20101/ate2 2.73883 3.44qqiw 4.222
내가 검색하려는 경우 내가 가야 ate2/etc/tags/20101/ate2.
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'
하나 개의 솔루션은 초콜렛을 제안으로 쿼리를 작성하다 될 것, 다른 하나는 당신을 제공 TagManager
API를 활용하는 것입니다 태그를 검색하는 메소드가 많이 있고 일단 Tag
인스턴스를 얻으면 그 경로를 얻을 수 있습니다. TagManager
에 대한 Javadoc과는 here를 찾을 수 있으며 Tag
here
에 대한 참조를 위해 당신은 코드 here 볼 수 있었다. 이 접근법을 사용하는 경우에 염두에 두어야 할 점은 resolverFactory.getAdministrativeResourceResolver(null)
대신 ResourceResolver를 얻기 위해 시스템 사용자를 만들어야한다는 것입니다. 자세한 내용은 here