在CQ jsp中,只需调用currentPage.getPath()即可轻松访问currentPage对象。但是我试图删除所有的scrip let,并将它们分离到模型类中,并且无法弄清楚如何访问currentPage对象。我以为我可以做类似的事情:
public void setResource(Resource resource){
resource.getPath()
}
但是返回的内容类似于:
/content/home/subPage/jcr:content/banner
我只是想返回/ content / home / subPage /。我正在尝试使用资源来获取路径,但是找不到任何可以执行此操作的东西。我知道这一定是我只是忽略的小事。感谢您的帮助!
您之所以得到jcr:content / banner,是因为您正在调用页面内的组件资源,而不是页面本身。
要从组件中获取当前页面,可以使用PageManager:
PageManager pageManager = resource.getResourceResolver()。adaptTo(PageManager.class);
页面currentPage = pageManager.getContainingPage(resource);
currentPage可以直接使用。我们应该有一个隐式对象。