3

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

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

但这会返回类似:

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

我只是想返回/content/home/subPage/。我正在尝试使用资源来获取路径,但找不到任何东西可以做到这一点。我知道这一定是我忽略的小东西。谢谢您的帮助!

4

1 回答 1

14

你得到 jcr:content/banner 是因为你在页面内调用组件的资源,而不是页面本身。

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

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

页面 currentPage = pageManager.getContainingPage(resource);

于 2013-07-02T07:34:00.553 回答