How to inject a sling model inside another sling model? | Community
Skip to main content
August 10, 2021
Solved

How to inject a sling model inside another sling model?

  • August 10, 2021
  • 1 reply
  • 4064 views

I tried as below,

 

Model A: @Model(adaptables = SlingHttpServletRequest.class) public class ModelA { private String title; @586265 Resource resource; ModelB modelb; . @PostConstruct public void init() { modelb = resource.adaptTo(ModelB.class); } } Model B: @Model(adaptables = SlingHttpServletRequest.class) public class ModelB { private String text; }

 

But it's not working.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by PiotrR

Try this:

@Model(adaptables = SlingHttpServletRequest.class) public class ModelA { private String title; @1961677 ModelB modelb; }

 

Or if ModelB is adaptable only from Resource then

@Model(adaptables = SlingHttpServletRequest.class) public class ModelA { private String title; @1961677 @2434638("resource") ModelB modelb; }

 

1 reply

PiotrRAccepted solution
Level 2
August 10, 2021

Try this:

@Model(adaptables = SlingHttpServletRequest.class) public class ModelA { private String title; @1961677 ModelB modelb; }

 

Or if ModelB is adaptable only from Resource then

@Model(adaptables = SlingHttpServletRequest.class) public class ModelA { private String title; @1961677 @2434638("resource") ModelB modelb; }

 

Level 6
November 16, 2022

 

Same result Still null