gpt4 book ai didi

java - sling :resourceSuperType is impacting sling resolution?怎么样

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:58 28 4
gpt4 key购买 nike

您好,我正在了解吊索分辨率的工作原理。

我遇到了 Adob​​e aem 开发人员指南中提到的这种情况

https://docs.adobe.com/docs/en/aem/6-2/develop/the-basics.html

这是提到的场景-/a(没有任何资源父类(super class)型或资源类型)

b (sling:resourceSuperType = a)

c (sling:resourceSuperType = b)

x(吊带:资源类型 = c)

y (sling:resourceType = c, sling:resourceSuperType = a)

/x 的类型层次结构是 [ c, b, a, ] 而/y 的层次结构是 [ c, a, ] 因为/y 具有 sling:resourceSuperType 属性而/x 没有,因此它的父类(super class)型是取自其资源类型。

现在我明白了/x 是如何解析的。但我不确定/y。首先它解析为/c。它本身有一个 sling:resourceSuperType 作为 b。吊索分辨率也应该不转到/b 吗?如何覆盖父类(super class)型并将资源解析为 a 而不是 b。

最佳答案

Apache Sling documentation 中所述,如果为特定资源定义了 sling:resourceSuperType,则将使用它。如果它不存在,框架将使用由 sling:resourceType 指向的资源定义的 sling:resourceSuperType

也就是说,在 /y 的情况下,/b 不会被视为父类(super class)型。 /y定义的sling:resourceSuperType本身直接指向/a。它将有效地隐藏 /c 中定义的 sling:resourceSuperType 属性(并指向 /b),否则将被考虑在内。

这个例子在 documentation page 上得到了很好的描述。你链接到。

根据我的经验,如果资源类型层次结构由定义组件的一组节点定义并作为 /apps 的后代出现在存储库中,则大多数自定义 AEM 组件都更易于维护>/libs(当在继承层次结构中包含 OOTB 组件时)。 /content 子树中存在的特定组件实例(包括负责呈现整个页面的实例)然后可以明确定义一个 sling:resourceType 来确定其类型(继承或不是)。就个人而言,我不喜欢在属于 /content 子树的资源级别定义 sling:superResourceType,因为这会使层次结构更难推理关于。在我的脑海中,我想不出一个可以证明这种权衡的用例。如果他们知道一个好的,也许其他人可以权衡。

关于java - sling :resourceSuperType is impacting sling resolution?怎么样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45755874/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com