首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在AEM HTL (Sightly)中跨页面访问属性

在AEM HTL (Sightly)中,可以使用Sling Models来实现跨页面访问属性。

Sling Models是AEM中的一种Java类,它允许开发人员将JCR节点映射到Java对象上。通过使用Sling Models,我们可以轻松地在不同的页面之间共享属性。

要在AEM HTL中跨页面访问属性,可以按照以下步骤进行操作:

  1. 创建一个Sling Model类,该类将映射到要访问属性的JCR节点。例如,我们可以创建一个名为"PagePropertiesModel"的类。
代码语言:java
复制
package com.example.models;

import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.DefaultInjectionStrategy;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.injectorspecific.SlingObject;

@Model(adaptables = Resource.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class PagePropertiesModel {

    @SlingObject
    private Resource resource;

    public String getTitle() {
        return resource.getValueMap().get("jcr:title", String.class);
    }

    // 其他属性的访问方法
}
  1. 在需要访问属性的HTL模板中,使用Sling Models的注解来注入该类的实例,并访问属性。例如,我们可以在模板中使用以下代码来访问标题属性:
代码语言:html
复制
<sly data-sly-use.pageProperties="com.example.models.PagePropertiesModel">
    <h1>${pageProperties.title}</h1>
</sly>

在上述代码中,"com.example.models.PagePropertiesModel"是Sling Model类的完整类名,"pageProperties"是注入的实例的名称,"title"是要访问的属性名称。

通过以上步骤,我们可以在AEM HTL中跨页面访问属性。这种方法非常灵活,可以在不同的页面之间共享属性,并且可以方便地扩展和维护。

推荐的腾讯云相关产品:由于要求不能提及具体的云计算品牌商,这里无法给出腾讯云相关产品的推荐。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。您可以访问腾讯云官方网站获取更多信息:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券