我创建了一个cq:page
类型的页面。我在此页面的jcr:content
节点下有一个组件nt:unstructured
类型,并指向应用中的组件位置。
我在这个组件中硬编码了一个组件。现在,我无法访问第二个组件中的节点。我需要使用ResourceResolver设置节点的属性(在第二个组件中) - 如何访问第二个组件中的节点?
答案 0 :(得分:1)
因为您在组件A内部对组件B进行了硬编码,所以您还可以静态地定义其相对于A的路径。
据推测,您正在使用<cq:include>
将组件B嵌入到组件A中。
其中两个可能的属性是path
和resourceType
。在这种情况下,路径是包含的组件在创建时将具有的相对路径。
因此,如果组件A的JSP包含:
<!--Some component A content here -->
<cq:include path="inner" resourceType="myProject/components/content/componentB"/>
<!-- Some more component A content -->
任何时候资源类型为&#34; componentA&#34;的节点创建后,它将创建一个子节点,该子节点具有指向&#34;内部&#34;的组件A的相对路径。 (资源类型为componentB
)。
即。如果您的案例中的外部组件位于/content/mysite/mypage/jcr:content/componentA
,那么在给定上述代码的情况下,内部组件将位于/content/mysite/mypage/jcr:content/componentA/inner
。