CQ5 - 模型类中的Sling currentPage

时间:2013-07-02 01:13:08

标签: java cq5 sling

在CQ jsp中,只需调用currentPage.getPath()即可轻松访问currentPage对象。但我正在尝试删除任何脚本,并将它们分离到模型类中,并且无法弄清楚如何访问currentPage对象。我以为我可以这样做:

public void setResource(Resource resource){
    resource.getPath()
}  

但是返回的内容如下:

/content/home/subPage/jcr:content/banner

我只想返回 / content / home / subPage / 。我正在尝试使用资源来获取路径,但无法找到任何可以做到这一点。我知道这一定是小事,我只是在俯视。谢谢你的帮助!

1 个答案:

答案 0 :(得分:13)

您正在获取jcr:content / banner,因为您正在调用页面内部组件的资源,而不是页面本身。

从组件中获取当前页面,您可以使用PageManager:

  

PageManager pageManager = resource.getResourceResolver()。adaptTo(PageManager.class);

     

Page currentPage = pageManager.getContainingPage(resource);