How to get properties of "jcr:content" of nested page
I have one parent page News. This parent page have several nested pages. I am trying to get properties of all jcr:content node of nested pages. But I am getting null response from getChild().
Here down is the snapshot of CRDXE Page. I need all properties of jcr:content

Here down is my code
NewsServiceImpl
@Component(service = NewsService.class public class NewsServiceImpl implements NewsService { @Reference private QueryBuilder queryBuilder; @Override public Optional<Iterator<Resource>> getNews(SlingHttpServletRequest request, String searchPath) { Iterator<Resource> resourceIterator = null; Session session = request.getResourceResolver().adaptTo(Session.class); final Map<String, String> map = new HashMap<>(); map.put("path", searchPath); map.put("1_property", "sling:resourceType"); map.put("1_property.value", "xxx/components/page"); Query query = queryBuilder.createQuery(PredicateGroup.create(map), session); SearchResult result = query.getResult(); resourceIterator = result.getResources(); return Optional.ofNullable(resourceIterator); } }
Servlet
@Component(service = Servlet.class, property = { Constants.SERVICE_DESCRIPTION + "= Get All News", SLING_SERVLET_METHODS + "=GET", SLING_SERVLET_PATHS + "=/bin/news" }) public class NewsServlet extends SlingSafeMethodsServlet { @Reference transient NewsService newsService; protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json;charset=utf-8"); JsonArray resultArray = new JsonArray(); Optional<Iterator<Resource>> isNews = newsService.getNews(request, request.getParameter("searchPath")); if (isNews.isPresent()) { Iterator<Resource> news = isNews.get(); while (news.hasNext()) { Resource parentPageResource = news.next(); // is jcr:content present, Store response in resultArray if (parentPageResource.getChild("jcr:content") != null) { resultArray.add(parentPageResource.getChild("jcr:content").getValueMap().toString()); } } } response.getWriter().print(resultArray); } }