AEM新手求助:如何用Query Builder获取container_copy节点所有属性
AEM Query Builder 查询修正方案
你当前的查询存在两个关键问题:
- 查询对象错误:你要获取的是
container_copy节点的属性,但当前查询的是cq:PageContent(页面内容节点),而非目标节点本身。 - 属性匹配逻辑错误:第二条规则试图让
container_copy节点等于字符串singleText,但singleText其实是container_copy节点下的一个属性,这种写法完全不符合需求。
方案1:直接获取container_copy节点的所有属性
如果你的目标就是拿到container_copy节点的全部属性,用这个查询就行:
path=/content/pojoName/au/en/enquiry-form/jcr:content/root/container/container nodename=container_copy type=nt:unstructured
path定位到container_copy的父节点位置nodename=container_copy指定要查询的节点名称type=nt:unstructured匹配该节点的类型(从CRXDE截图里能看到这个节点属于该类型)
执行后返回的结果就是container_copy节点本身,直接就能查看它的所有属性。
方案2:先找包含container_copy的页面,再关联节点属性
如果需要先定位到包含container_copy节点的页面,再获取该节点的属性,用这个查询:
path=/content/pojoName/au/en/enquiry-form type=cq:PageContent 1_property=jcr:content/root/container/container/container_copy 1_property.operation=exists // 要是还需要过滤出带singleText属性的container_copy节点,就加下面这两行: 2_property=jcr:content/root/container/container/container_copy/singleText 2_property.operation=exists
- 第一条规则确保页面内容节点下存在
container_copy这个子节点 - 第二条规则是可选的,用来进一步筛选出
container_copy节点包含singleText属性的页面
额外提示
- 要查询子节点的属性,必须在
_property里写完整的属性路径,比如jcr:content/root/container/container/container_copy/singleText - 要是不确定节点类型,可以删掉
type参数,或者在CRXDE里查看节点的jcr:primaryType属性来填写
内容的提问来源于stack exchange,提问作者Faheem azaz Bhanej
相关产品推荐
相关产品推荐

