Resource Resolver returned as null via sling models

匆匆过客 提交于 2019-12-13 09:40:00

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!