2 Sling模型已给出,我想注入其中一个模型。这是可能的注释还是我需要创建一个PostContruct方法作为解决方法?从Sling模型中注入另一个Sling模型
例子:
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'代表的资源的一个子资源代表的资源? – Jens
不,它是相同的资源。 – nicolas
因此,您有一个'ResourceA',并且想要将该资源同时适应'ModelA'和'ModelB'?只要“ModelB”表示的资源是由“ModelA”表示的资源的子资源,您想要执行的操作就是可能的。请参阅https://sling.apache.org/documentation/bundles/models.html#adaptations – Jens