Aem 为什么我们有多个jsp';CQ5中的单个组件是什么?
我是CQ5的新手。在学习其概念时,我了解到CQ5使用Sling框架进行请求处理,并基于最佳匹配解析脚本。我在CQ5中见过几个组件(大多数是页面或顶级组件),它们在单个组件下有多个jsp(例如页面组件有page.jsp、body.jsp、header.jsp,类似重定向组件有redirect.jsp、body.jsp、content.jsp)。所以我想问,在什么情况下,我们将有多个jsp,哪个脚本将由sling解析以显示内容?通常,一个组件由一个与请求匹配的脚本呈现,我们称之为Aem 为什么我们有多个jsp';CQ5中的单个组件是什么?,aem,sling,Aem,Sling,我是CQ5的新手。在学习其概念时,我了解到CQ5使用Sling框架进行请求处理,并基于最佳匹配解析脚本。我在CQ5中见过几个组件(大多数是页面或顶级组件),它们在单个组件下有多个jsp(例如页面组件有page.jsp、body.jsp、header.jsp,类似重定向组件有redirect.jsp、body.jsp、content.jsp)。所以我想问,在什么情况下,我们将有多个jsp,哪个脚本将由sling解析以显示内容?通常,一个组件由一个与请求匹配的脚本呈现,我们称之为GET.jsp 但是
GET.jsp
但是,在该脚本中,您只能找到对其他脚本的include调用,如body.jsp、header.jsp。这样做的目的是,您可以在
/apps
中覆盖另一个header.jsp(例如),而无需覆盖完整的GET.jsp脚本。一个组件下有多个jsp的可能性与sling的关系比与CQ的关系更大(尽管CQ还提供了框架上的一些扩展)。在顶级组件(例如页面组件)中使用更多jsp的原因通常是为了捕捉发生在较低级别某处的包含情况(因此包含文件的定义在那里,但实际文件不在组件中)
在我看来,在一个组件下有多个jsp有三个主要原因(无论是什么级别),所有这些原因都可以同时应用于同一个组件
例如,我创建了一个继承了基金会标题组件的标题组件。假设我在title组件中有这个结构
title.jsp
h2.jsp
fancy.jsp
显然,h2和fancy是标题组件的实际选择器
将多个jsp is与选择器结合使用是一种常用做法。它们用于以不同的方式显示基本相同的组件
您还可以将h2.jsp放在页面组件中。如果正确设置链条,吊索会找到它
选择器比我在这里描述的要多得多。但这只是问题的一部分。你想要长版本还是短版本?@3xil3:-一个详细的版本。。!添加到场景3。。。脚本解析总结在中(请参见步骤5)。中也对其进行了描述,请查看Bertrand Delacretaz引用的详细示例。