如何检测 Sling 组件未能呈现并采取适当的措施?
How do I detect that a Sling component failed to render and take appropriate action?
我是 运行 AEM 6.3 并且有一个使用 HTL、Java 等构建的应用程序。我有一个组件作为资源包含如下:
<div data-sly-resource="${ 'resource-name' @ resourceType='path/to/resource'}"></div>
在某些情况下,该资源无法加载并且没有 HTML 正在呈现。我如何才能检测到该故障并采取措施?
最好,我想 return 正常响应并设置 HTTP header。
感谢您的帮助!
资源渲染失败的原因有多种:
- 缺少资源
- 无法访问资源
- 渲染缺失servlet/script
- 渲染错误servlet/script
- 其他调用的代码(sling 模型、POJO、服务)出错
- ...
即使您设法在处理过程中检测到其中一些失败,设置响应 header 也可能为时已晚,因为响应的一部分可能已经是 committed/flushed。
一个可能有效的解决方案是设置一个过滤器来处理资源呈现错误。您还可以缓冲响应以确保仅在所有处理完成后才开始发送。
我是 运行 AEM 6.3 并且有一个使用 HTL、Java 等构建的应用程序。我有一个组件作为资源包含如下:
<div data-sly-resource="${ 'resource-name' @ resourceType='path/to/resource'}"></div>
在某些情况下,该资源无法加载并且没有 HTML 正在呈现。我如何才能检测到该故障并采取措施?
最好,我想 return 正常响应并设置 HTTP header。
感谢您的帮助!
资源渲染失败的原因有多种:
- 缺少资源
- 无法访问资源
- 渲染缺失servlet/script
- 渲染错误servlet/script
- 其他调用的代码(sling 模型、POJO、服务)出错
- ...
即使您设法在处理过程中检测到其中一些失败,设置响应 header 也可能为时已晚,因为响应的一部分可能已经是 committed/flushed。
一个可能有效的解决方案是设置一个过滤器来处理资源呈现错误。您还可以缓冲响应以确保仅在所有处理完成后才开始发送。