Fetch Data into dropdown field via servlet and display on page. | Community
Skip to main content
New Participant
February 16, 2016
Solved

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

  • February 16, 2016
  • 9 replies
  • 1431 views

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.

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 Lokesh_Shivalingaiah

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

9 replies

Lokesh_Shivalingaiah
Lokesh_ShivalingaiahAccepted solution
New Participant
February 16, 2016

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

askdctmAuthor
New Participant
February 16, 2016

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.

askdctmAuthor
New Participant
February 16, 2016

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.

edubey
New Participant
February 16, 2016

okay

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

its giving you entire nodes under /etc?

askdctmAuthor
New Participant
February 16, 2016

Hi Praveen,

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

edubey
New Participant
February 16, 2016

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

askdctmAuthor
New Participant
February 16, 2016

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.

edubey
New Participant
February 16, 2016
edubey
New Participant
February 16, 2016

In simple terms form JSON data in servlet and return it to your widget

here are article showing this:

https://helpx.adobe.com/experience-manager/using/dialog_fields_servlets.html

http://www.tothenew.com/blog/aem-ways-to-populate-a-selection-widget/