Adobe AEM parsys组件呈现所有子资源,如果WCM模式设置为适当的值,则会显示 Drop component 部分,该部分可用于添加新段落。 Drop组件部分的实现非常奇怪 - 它作为带有<cq:include>
标记的单独组件嵌入,但 path 参数设置为{ {1}}(明星):
*
(<cq:include path="*" resourceType="<%= newType %>"/>
是在此行之前设置的Java变量。)
这里发生了什么?这颗恒星的目的是什么?
答案 0 :(得分:7)
吊索provides a way以自动创建资源名称。如果您向以/*
结尾的URL发送POST请求,则Sling将使用文档中描述的许多规则生成资源名称。
如果您拦截发送到servlet中的/*
资源的请求或过滤并调用request.getResource()
方法,您将获得StarResource
个对象。它扩展了SyntheticResource
类型,表示JCR中没有适当节点的资源。它的资源类型为sling:syntheticStarResource
,您可以调用其getParent()
方法,但通常它不是很有用。尝试将其调整为ValueMap
将失败。 Sling提供helper method,用于检查指定的Resource
是否为StarResource
。
如果问题中提到的段落系统实现,代码的作者可能想要使用合成资源显示 Drop组件并提供*
作为路径是最简单的方法。您还可以确保资源始终是合成的,因为无法创建具有此名称的节点。