java - Sling - 使用 pageManager 查找页面路径

标签 java aem sling

我正在创建一个简单的类,它只是获取您所在页面的根目录。我的大多数页面都是三层深度,我需要始终找到根。

我正在使用 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/

相关文章:

java - 在Android中设置按钮的宽度

Java泛型和继承: Unable to add to List

aem - aem 中的扩展、覆盖和覆盖组件有什么区别

java - Sling - 循环访问资源的属性

java - 如何在 Java 中将 HTTP 请求主体转换为 JSON 对象

java - 如何使用父类(super class)调用泛型方法

java - 如何将单词转换为数字?

xml - 如何在 cq 对话框中动态使用下拉元素更改选项?

php - 如何从另一台服务器获取 html 页面,并在该文件的特定位置插入 php 代码

jersey - 如何在 Adob​​e CQ 中部署和访问 Jersey REST OSGi 包?