我正在创建一个简单的类,它只是获取您所在页面的根目录。我的大多数页面都是三层深度,我需要始终找到根。
我正在使用 slings 资源解析器来适应 PageManager 类。一旦我适应了 pageManager 类,我就会尝试获取根页面。
ResourceResolver resourceResolver = resource.getResourceResolver();
PageManager pageManager = resourceResolver.adaptTo(PageManager);
this.pageRoot = pageManager.getPage(currentStyle.get("pageroot", "/noPage"));
每次运行这个程序时,我都会得到以下一些奇怪的组合:
com.day.cq.wcm.core.impl.PageImpl@1fb4792
没有错误或什么都没有。有任何想法吗?非常感谢任何帮助。
最佳答案
我认为 PageManager 的工作方式没有任何问题。
PageManager.getPage("path")
返回一个 Page 对象。
我猜您正在直接尝试打印页面对象,因此您会看到上面的组合。
尝试使用页面对象,无论您出于何种原因获取它,或者使用 Page 类支持的任何方法(例如 getPath() 或 getName()),您也许能够看到该特定页面的详细信息。
而且 currentStyle.get("pageroot", "/noPage")
无论如何都会给你根页面的路径,所以不需要使用 pageManager。
关于java - Sling - 使用 pageManager 查找页面路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18939758/