Skip to main content
Jai1122
Level 4
Oct 16, 2015 2:28 AM UTC
Solved

Page object not available

    Hi All,

        I am invoking a tag lib with slingRequest object in which i have the following code 

import com.day.cq.wcm.api.Page; public class Temp extends SimpleTagSupport{ public static String getValue(SlingHttpServletRequest request){ LOG.info("Resource Path is {}",request.getResource()); Page page   =   request.getResource().adaptTo(Page.class); LOG.info("Page is {}",page); } }

The resource path from the log is  /content/my-cq-page/jcr:content and the page object that i got is null. I am not sure why it is null. Is there a better way to extract a page object from a sling request?

Can someone help me on this?

Thanks,

Jai.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
edubey
edubeyAccepted solution
Level 10
Oct 16, 2015 2:28 AM UTC
      Please use this: ResourceResolver resourceResolver = request.getResourceResolver(); PageManager pageManager = resourceResolver.adaptTo(PageManager.class); String pageUri = "/content/site/page.html" ; Page page = pageManager.getPage(pageUri);

3 replies

Jai1122
Jai1122Author
Level 4
Oct 16, 2015 2:28 AM UTC

It is working!!!

Managed to accomplish it like this 

ResourceResolver resourceResolver = request.getResourceResolver(); Resource resource = request.getResource(); PageManager pageManager = resourceResolver.adaptTo(PageManager.class); Page page = pageManager.getContainingPage(resource);

Thanks kunal and edubey for your reply.

Translate
edubey
edubeyAccepted solution
Level 10
Oct 16, 2015 2:28 AM UTC
      Please use this: ResourceResolver resourceResolver = request.getResourceResolver(); PageManager pageManager = resourceResolver.adaptTo(PageManager.class); String pageUri = "/content/site/page.html" ; Page page = pageManager.getPage(pageUri);
Translate
Kunal_Gaba_
New Member
Oct 16, 2015 2:28 AM UTC

It returns null because the path " /content/my-cq-page/jcr:content" represent cq:PageContent object and not the "cq:Page" object. 

Translate