Aem 通过路径获取页面对象
为什么下面的代码在我的组件中不起作用Aem 通过路径获取页面对象,aem,sightly,htl,Aem,Sightly,Htl,为什么下面的代码在我的组件中不起作用 <sly data-sly-test.thatPage="${pageManager.getPage @path=properties.pagePath}" data-sly-unwrap> <div>${thatPage.getPath}</div> </sly> 因为不能在HTL表达式中使用参数/参数调用方法 在这种情况下,您最好创建一个helper Use对象(POJO或Sling模型),该
<sly data-sly-test.thatPage="${pageManager.getPage @path=properties.pagePath}" data-sly-unwrap>
<div>${thatPage.getPath}</div>
</sly>
因为不能在HTL表达式中使用参数/参数调用方法
在这种情况下,您最好创建一个helper Use对象(POJO或Sling模型),该对象允许在初始化路径时传递路径,并且具有对应于路径的页面的getter。是否有任何特定的设计原因,为了将PageManager作为隐式对象提供,并且不允许使用参数调用其方法,HTL不允许使用参数调用方法,因为最初的设计者认为这将在模型/业务逻辑和视图/呈现模板之间实现更好的分离。AEM中的HTL提供了许多全局对象,使开发人员更容易访问常用属性,请参见。然而,其中一些API需要方法的参数,这些API更适合传递给使用对象。