我正在使用Adobe CQ5。我制作了两个彼此独立的组件。然而,
我想使用另一组件中一个组件的数据。
我该如何实现?如何使两个组件相互交互?
提前致谢。
最佳答案
您可以使用javax.jcr.Node
和javax.jcr.Property
界面获取另一个组件的属性。例如,您已将component1和component2添加到page1。在存储库中,您应具有类似于以下的结构:
/content
/project
/page1
/jcr:content
/parsys
/component1
/...some properties
/component2
/...some properties
如果要在component1中获取component2的属性,可以使用类似以下内容的方法:
Node parsys = currentNode.getParent();
if(parsys.hasNode("component2")) {
Node component2 = parsys.getNode("component2");
if(component2.hasProperty("someProperty"))
Property someProperty = component2.getProperty("someProperty");
}