CQ5-悬吊模型中的currentPage

问题描述 投票:3回答:1

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

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

但是返回的内容类似于:

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

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

java aem sling
1个回答
13
投票

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

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

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

页面currentPage = pageManager.getContainingPage(resource);


0
投票

currentPage可以直接使用。我们应该有一个隐式对象。

© www.soinside.com 2019 - 2024. All rights reserved.