【发布时间】:2017-01-28 09:12:21
【问题描述】:
给出了 2 个 Sling 模型,我想注入其中一个。这是否可以通过注释实现,还是我需要创建 PostContruct 方法作为解决方法?
例子:
模型 A
@Model(adaptables = Resource.class)
public class ModelA {
@ValueMapValue(name = "jcr:title", injectionStrategy = InjectionStrategy.OPTIONAL)
private String title;
@Inject // Not working!
private ModelB modelB;
}
模型 B
@Model(adaptables = Resource.class)
public class ModelB {
@ValueMapValue(injectionStrategy = InjectionStrategy.OPTIONAL)
private String text;
}
【问题讨论】:
-
ModelB代表的资源是ModelA代表的资源的子资源吗? -
不,是同一个资源。
-
那么您有一个
ResourceA,并且您想将该资源同时适应ModelA和ModelB?只要ModelB代表的资源是ModelA代表的资源的子资源,你想做的就可以了。见sling.apache.org/documentation/bundles/models.html#adaptations
标签: aem sling sling-models