Aem cq5获取父节点属性
我有组件层次结构Aem cq5获取父节点属性,aem,jcr,sling,Aem,Jcr,Sling,我有组件层次结构parsys->parentcomp->childcomp parentcomp节点具有一些属性。 我正在尝试访问childcomp级别的parentparentcomp属性 我不知道该怎么做 知道如何获取父节点属性吗。 我知道下面的代码,它给了我一个以父节点作为选择器的路径。 但是,不知道如何精确地到达特定节点并读取这些属性 <%= currentNode.getPath() %> 谢谢,, Sri是的一个实例 Node契约的一部分是getParent方法,您
parsys->parentcomp->childcomp
parentcomp
节点具有一些属性。
我正在尝试访问childcomp
级别的parentparentcomp
属性
我不知道该怎么做
知道如何获取父节点属性吗。
我知道下面的代码,它给了我一个以父节点作为选择器的路径。
但是,不知道如何精确地到达特定节点并读取这些属性
<%= currentNode.getPath() %>
谢谢,,
Sri是的一个实例
Node
契约的一部分是getParent
方法,您可以使用该方法获取对节点父JCR节点的引用
如果内容结构与您描述的一样,currentNode.getParent().getProperties()
将为您获取parentcomp
节点的属性。然而,如果您所描述的是AEM组件,那么您可能会在它们之间有一些jcr:content
节点。仔细检查CRXDE中的实际结构
如果您只对一个特定的属性感兴趣,可以使用
getProperty
。有很多方法可以实现这一点
global.jsp
ValueMap parentProps=resource.getParent().getValueMap()//在AEM的最新版本中
ValueMap parentProps=resource.getParent().adapto(ValueMap.class)//旧版本
currentNode
对象
PropertyIterator PropertyIterator=currentNode.getParent().getProperties()
我个人更喜欢使用资源API来实现这一点,因为它使处理属性更简单。我使用资源方法来实现这一点。ValueMap parentProps=resource.getParent().adapto(ValueMap.class);
<%= currentNode.getPath() %>