如何检测Sling组件无法渲染并采取适当的措施?

时间:2018-08-16 16:21:59

标签: aem sling sightly htl

我正在运行AEM 6.3,并且具有使用HTL,Java等构建的应用程序。我具有作为资源包括在内的组件,如下所示:

<div data-sly-resource="${ 'resource-name' @ resourceType='path/to/resource'}"></div>

在某些情况下,该资源无法加载,并且没有呈现HTML。如何检测到该故障并采取措施?

最好,我想像往常一样返回响应并设置一个HTTP标头。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

由于多种原因,资源渲染失败可能会发生:

  • 缺少资源
  • 无法访问资源
  • 缺少渲染servlet /脚本
  • 呈现servlet /脚本时出错
  • 其他调用的代码(吊索模型,POJO,服务)中的错误
  • ...

即使您设法在处理过程中检测到其中一些失败,设置响应标头也可能为时已晚,因为响应的一部分可能已经提交/清除。

一种可行的解决方案是设置一个过滤器来处理资源渲染错误。您还可以缓冲响应,以确保仅在所有处理完成后才开始发送。