我刚开始使用 Sling 模型,但在检索父模型中的子节点属性时遇到了问题。 这是我的 JCR 结构
图像节点是一个来自基础组件。我的目标是在 Topbanner 节点中获取图像组件的“文件引用”属性,然后在其漂亮的脚本中。这是我的顶级横幅节点模型:
@Model(adaptables=Resource.class)
public class TopBanner {
@Self @Via("resource")
private Resource bannerBackGroundImage;
private String bannerBgImagePath;
// @Inject
// private String bannerTitle;
// @Inject
// private String bannerDescription;
//
// @Inject
// private String bannerButtonText;
//
// @Inject
// private String bannerButtonLink;
@SlingObject
private ResourceResolver resourceResolver;
@PostConstruct
public void init() {
TopBanner.LOG.info("we are here");
try {
bannerBackGroundImage=resourceResolver.getResource("/apps/ads/components/structure/TopBanner2/Image");
this.bannerBgImagePath=bannerBackGroundImage.adaptTo(ValueMap.class).get("fileReference",String.class);
} catch(SlingException e) {
TopBanner.LOG.info("Error message **** " + e.getMessage());
}
}
// getters omitted
我得到的错误是 Identifier Mypackage.models.TopBanner 不能被 Use API 正确实例化