For example, if I look at /libs/foundation/components/parsys there is a child node parsys.jsp. Does any jsp file get executed? Or what declares that that jsp file should be executed?
I have similar questions about cq:Template, cq:Page etc.
Note that the question is not: "how do I create a component?"
Solved! Go to Solution.
Views
Replies
Total Likes
@kendalls5216292 Disclaimer :- ✌
Lets take your question one by one
if I look at /libs/foundation/components/parsys there is a child node parsys.jsp.
Does any jsp file get executed? - Yes , it does. Much before the entire stack was changed to HTL, we were that old guys with a lot of JSPs. So a lot of components in the /libs/foundation/components still uses JSPs for rendering . Why ? for backward compatibility (I think that's the right word
Or what declares that that jsp file should be executed? - To exactly answer that one , you have to go through the sling resolution . A better start would be https://issues.apache.org/jira/browse/SLING-387 here. It exactly defines how sling resolves a component. So when you hit a content node in the browser , lets say /content/we-retail/en/us/home.html , the first thing which sling looks for to execute and deliver your content is a property called sling:resourceType under your home node. This resourceType in 90% scenarios will be pointing to a cq:Component in your repository. Now as for any rendering logic, Sling also need to define a rendering logic for its components. And that what its main Job is to. So, as per its definition and sling resolution principles , the JSP gets executed in the order it should be.
May be a little reading on SLING might help https://sling.apache.org/documentation.html also Script-resolution https://sling.apache.org/documentation/the-sling-engine/url-to-script-resolution.html
A similar kind of explanation can be found here -
Updated :- https://issues.apache.org/jira/browse/SLING-278 this was the ticket for sling resolution and inheritance. I have updated the correct ticket details for sling resolution
Hope this helps and gives little bit of idea.
Thanks
Veena
@kendalls5216292 Disclaimer :- ✌
Lets take your question one by one
if I look at /libs/foundation/components/parsys there is a child node parsys.jsp.
Does any jsp file get executed? - Yes , it does. Much before the entire stack was changed to HTL, we were that old guys with a lot of JSPs. So a lot of components in the /libs/foundation/components still uses JSPs for rendering . Why ? for backward compatibility (I think that's the right word
Or what declares that that jsp file should be executed? - To exactly answer that one , you have to go through the sling resolution . A better start would be https://issues.apache.org/jira/browse/SLING-387 here. It exactly defines how sling resolves a component. So when you hit a content node in the browser , lets say /content/we-retail/en/us/home.html , the first thing which sling looks for to execute and deliver your content is a property called sling:resourceType under your home node. This resourceType in 90% scenarios will be pointing to a cq:Component in your repository. Now as for any rendering logic, Sling also need to define a rendering logic for its components. And that what its main Job is to. So, as per its definition and sling resolution principles , the JSP gets executed in the order it should be.
May be a little reading on SLING might help https://sling.apache.org/documentation.html also Script-resolution https://sling.apache.org/documentation/the-sling-engine/url-to-script-resolution.html
A similar kind of explanation can be found here -
Updated :- https://issues.apache.org/jira/browse/SLING-278 this was the ticket for sling resolution and inheritance. I have updated the correct ticket details for sling resolution
Hope this helps and gives little bit of idea.
Thanks
Veena
Views
Replies
Total Likes
Hi @kendalls5216292,
You asked about properties of node types and about execution of JSPs. This leaves me a bit confused because the two things are not really related
cq:Component
That is from this page, which lists the OOTB node properties used in AEM (many of which come from CQ5, AEM predecessor). Hope this helps!