问题
Resource Resolver is being returned as null while injecting through sling models, let me know if anything I am missing :
I tried with :
@Model(adaptables = Resource.class)
public class Navigation {
@Inject @Source("sling-object")
private ResourceResolver resourceResolver;
}
I also tried with:
@Model(adaptables = Resource.class)
public class Navigation {
@Inject
private ResourceResolver resourceResolver;
}
In both cases it was being returned as null and throwing a null pointer exception.
Let me know what I may be missing to correct this error.
回答1:
Check if you have invoked <cq:defineObjects />
before adapting resource to model (<cq:defineObjects />
should be in your global.jsp file which should be included on the beginning of each component)
回答2:
This is working for me using the @SlingObject
annotation, rather than @Inject
and @Source
. Theoretically they should be doing the same thing, but figured I'll add this an answer just in case it helps someone else as well.
@Model(adaptables = Resource.class)
public class Navigation {
@SlingObject
private ResourceResolver resourceResolver;
}
来源:https://stackoverflow.com/questions/32223387/resource-resolver-returned-as-null-via-sling-models