main.jsp 如何在不在同一目录中时找到正确的 header.jsp?

How main.jsp locates the correct header.jsp when they are not in the same directory?

我想弄清楚这些文件是如何包含在 CQ5 页面组件中的,我对 jsp 文件是如何包含的有点困惑。

以下内容基于开箱即用的 geometrixx-outdoors 演示站点。

在/apps/geometrixx-outdoors/components/page_sidebar/main.jsp中,header.jsp是这样包含的:

<div class="page-header">
    <cq:include script="header.jsp"/>
</div>

但是 header.jsp 与 main.jsp 不在同一个文件夹中。实际上它位于 /apps/geometrixx-outdoors/components/page/header.jsp

所以我想知道在这种情况下页面如何知道在哪里可以找到正确的头文件。

期待您的回复。

谢谢, 唐纳德

ResourceTypes 可以是其他的扩展。在这种情况下,当在当前资源类型中找不到脚本时,将检查 resourceSuperType。

如果您查看 /apps/geometrixx-outdoors/components/page_sidebar,您会看到一个 resourceSuperType 属性 指向 geometrixx-outdoors/components/page。当在 page_sidebar 上找不到 header.jsp 时,它会在页面内查找。如果在那里找不到,foundation/components/page 将是下一个,因为它是 geometrixx 页面的 resourceSuperType。