【问题标题】:CQ5 Invalid recursion selector value 'data' (data.json.jsp)CQ5 无效的递归选择器值“数据”(data.json.jsp)
【发布时间】:2015-07-23 22:12:21
【问题描述】:

假设我在 CQ5 中有一个页面。我使用带有单个组件的模板创建了这个页面,称之为 tableComp,然后我点击了 url Test.html。该组件包含其标准 JSP 文件,但所使用的页面模板还包含一个特定的 JSP,用于自定义数据的 JSON 或 XML 呈现,而不是页面数据。

这个用于渲染的 JSP 文件将被命名为 data.xml.jspdata.json.jsp。要为页面 Test.html 命中此呈现 JSP,您将调用 /content/{org}/desktop/en_US/{name}/Test.data.json 或 /content/{org}/desktop/en_US/{name}/Test.data.xml.

将调用 XML/JSON JSP,其中包含获取值并打印到屏幕 XML 或 JSON 的代码。例如:废话

现在我想在点击一个名为 data.json.jsp 的新文件时将信息作为 JSON 输出显示到屏幕上。当点击 data.xml.jsp 时,它可以正常工作并点击 JSP。当我对 data.json.jsp 执行完全相同的过程时,我会得到以下结果。

Invalid recursion selector value 'data' 
Cannot serve request to /content/{org}/desktop/en_US/{name}/Test.data.json in org.apache.sling.servlets.get.DefaultGetServlet

Request Progress:

      0 (2015-07-22 18:10:06) TIMER_START{Request Processing}
      0 (2015-07-22 18:10:06) COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>
      0 (2015-07-22 18:10:06) LOG Method=GET, PathInfo=/content/{org}/desktop/en_US/{name}/Test.data.json

我已尝试按照另一个论坛的建议将 Pages.json.jsp 文件添加到 /libs/foundation/components/primary/cq/Page 部分,但这没有帮助。这个 Pages.json.jsp 文件的内容是 。

我怎样才能让 JSON 为这种类型的请求工作?

编辑:

我已经更改了原来的解释来澄清我的问题。

【问题讨论】:

  • 您能否阐明 xml 请求产生什么输出以及您希望 json 请求产生什么输出?具体是想要整个页面的内容结构序列化还是组件本身的一些信息?
  • 我更新并修改了我的问题。我正在尝试序列化有关组件本身的一些信息。

标签: json adobe aem sling


【解决方案1】:

看起来该请求正在由DefaultGetServlet 处理,而DefaultGetServlet 又使用JsonRendererServlet 处理带有.json 扩展的请求。

由于 JsonRendererServlet 需要数字选择器或 infinity 选择器,因此会引发以下错误。

无效的递归选择器值&lt;&lt;selector&gt;&gt;

但是,请求 /Test/_jcr_content.data.json 将呈现由 data.json.jsp 而不是 DefaultGetServlet 处理的 JSON 数据。

【讨论】:

  • 调用此 URL 不会在页面上呈现任何内容。它只是显示一个白页。
  • 你的意思是 /content/{org}/desktop/en_US/{name}/Test/_jcr_content.data.json 只显示一个白页吗?您能否提供有关您的 data.json.jsp 的其他信息,因为上述内容在我的 AEM 实例中运行良好。
  • 我更新并修改了我原来的问题。我不是想获得页面的 json 表示。我正在尝试使用 json.jsp 文件来输出自定义 JSON。
  • 实际上,我提供的答案调用了您的 json.jsp,然后为您提供了它的输出。但是如果你说它显示一个空白页面,请检查在处理 json.jsp 时是否存在一些错误
猜你喜欢
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
相关资源
最近更新 更多