Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events
SOLVED

Retrieve all the components has specific resource type in the given page without query builder

Avatar

Level 3

Hello All ,

 

I need to retrieve the component values that match with specific resource type and read the component values. We can have n number of the same components on the given page.

 

Please provide any suggestions

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@sateeshreddy You could use sling APIs to do so-

Take a root path

loop the resource and nodes as per your requirement via listchildren, Iterators,hasNode() etc until the leaf node.

use value map object - eg: currentResource.getValueMap()

compare the slingResourceType and read your values.

 

You could use the querybuilder to get the list of resources using a resource type rather than looping, Is there any particular reason you don't want to use the query builder? You could also index it if needed.

 

View solution in original post

2 Replies

Avatar

Employee

Hi @sateeshreddy ,

Can you please confirm if you want the list of matching components from one page only or list of all the matching components from the current as well as child page.

Avatar

Correct answer by
Community Advisor

@sateeshreddy You could use sling APIs to do so-

Take a root path

loop the resource and nodes as per your requirement via listchildren, Iterators,hasNode() etc until the leaf node.

use value map object - eg: currentResource.getValueMap()

compare the slingResourceType and read your values.

 

You could use the querybuilder to get the list of resources using a resource type rather than looping, Is there any particular reason you don't want to use the query builder? You could also index it if needed.