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

Fetch Data into dropdown field via servlet and display on page.

Avatar

Level 9

Hi All,

Details as below :

1] The repository structure is as below 

/etc
  /x
    /y
      /First
            /sfghfh
            /fhfghf and so on.
      /Second 
            /sgngg
            /dfgoe and so on.
      /Third
           /egkeg
           /sddgg and so on.

2] I need to retrieve nodes at the level , where[First,Second, Third] are present and return these in a drop down on the page.

3] Trying to make use of a servlet here.

Any thoughts/pointers on this will be helpful.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Use Resource API instead of Node API to get the child nodes only.

View solution in original post

9 Replies

Avatar

Level 9

Hi All,

I tried using the below :

Resource resource = request.getResourceResolver().getResource("/etc/x/y/");
            Node node = resource.adaptTo(Node.class);
            NodeIterator nodeIterator = node.getNodes();
            while(nodeIterator.hasNext()){
                List.add(nodeIterator.toString());
            }

1] Looks like node.getNodes() is getting me the entire nodes udner /etc and not just nodes at level where "First", "Second", "Third".

2] "node" is getting me "/etc/x/y/"

3] Any thoughts on how to get nodes at this level , will be helpful.

Avatar

Level 10

are  "First", "Second", "Third" the only child node of 'y' ?

Avatar

Level 9

Hi Praveen,

Currently, there are only three. But it might increase/decrease by couple of numbers. Basically, they are dynamic and not fixed.

Avatar

Level 10

okay

are you saying even though you are giving "/etc/x/y/" path in line 1

its giving you entire nodes under /etc?

Avatar

Level 9

Hi Praveen,

Sorry, probably I was not very clear.

1] I mean looks like it is reading all nodes under /etc/x/y/ and not just "FIrst","Second","Third" which are direct children of /etc/x/y.

Avatar

Level 9

Hi All,

https://saraindia.wordpress.com/2014/06/04/list-pages-and-properties-in-cq5/ seems to be giving the requried results. Will post back after further testing.

Avatar

Correct answer by
Level 10

Use Resource API instead of Node API to get the child nodes only.