有没有办法在不使用OSGI的情况下获取CRX内容

时间:2016-09-08 01:36:43

标签: angularjs osgi aem jcr crx

有没有办法在不使用OSGI服务的情况下获取CRX内容? 我正在寻找一个用例来实现网站的顶级导航,这需要通过像JavaScript JS这样的javascript框架来读取页面名称及其属性。

2 个答案:

答案 0 :(得分:1)

您可以将其作为JSON或XML获取,使用扩展XML或JSON对路径进行服务器调用。 JSON允许基于深度的选择器沿着树层次结构向下,不确定它是否与XML相同。 /my/page/path.xml/my/page/path.<depth>.json,您可以从请求URI中获取主机名和端口详细信息,以便为数据调用创建完整的URL。

答案 1 :(得分:0)

我建议您使用吊索提供的以下JSON API来完成获取页面名称及其属性的任务。

首先要抓取给定路径下的所有页面,您需要使用.pages.json选择器。例如,要获取/ content / company / en_US的所有子页面,请在

上执行JSON GET
HTTP GET <Host>/content/company/en_US.pages.json

接下来,对于上述GET调用返回的每个路径,您需要获取页面的_jcr_content.json

(例如)

HTTP GET <Host>/content/company/en_US/home/_jcr_content.json

上面的JSON调用应该为您提供此特定页面的所有页面属性。

请注意:上述方法是通用的,可以应用于Sling / AEM中托管的任何JCR路径。通常,由于可能阻止JCR爬网的安全规则,您无法在发布者环境中获得此级别的JCR访问权限。希望这有帮助