星级资源路径的目的是什么?

时间:2014-11-21 15:13:59

标签: resources cq5 sling

Adob​​e AEM parsys组件呈现所有子资源,如果WCM模式设置为适当的值,则会显示 Drop component 部分,该部分可用于添加新段落。 Drop组件部分的实现非常奇怪 - 它作为带有<cq:include>标记的单独组件嵌入,但 path 参数设置为{ {1}}(明星):

*

<cq:include path="*" resourceType="<%= newType %>"/> 是在此行之前设置的Java变量。)

这里发生了什么?这颗恒星的目的是什么?

1 个答案:

答案 0 :(得分:7)

吊索provides a way以自动创建资源名称。如果您向以/*结尾的URL发送POST请求,则Sling将使用文档中描述的许多规则生成资源名称。

如果您拦截发送到servlet中的/*资源的请求或过滤并调用request.getResource()方法,您将获得StarResource个对象。它扩展了SyntheticResource类型,表示JCR中没有适当节点的资源。它的资源类型为sling:syntheticStarResource,您可以调用其getParent()方法,但通常它不是很有用。尝试将其调整为ValueMap将失败。 Sling提供helper method,用于检查指定的Resource是否为StarResource

如果问题中提到的段落系统实现,代码的作者可能想要使用合成资源显示 Drop组件并提供*作为路径是最简单的方法。您还可以确保资源始终是合成的,因为无法创建具有此名称的节点。