aem - 如何检测 Sling 组件未能呈现并采取适当的措施?
问题描述
我正在运行 AEM 6.3,并且有一个使用 HTL、Java 等构建的应用程序。我有一个组件作为资源包含,如下所示:
<div data-sly-resource="${ 'resource-name' @ resourceType='path/to/resource'}"></div>
在某些情况下,该资源无法加载并且没有呈现 HTML。如何检测到该故障并采取措施?
最好,我想正常返回响应并设置 HTTP 标头。
谢谢你的帮助!
解决方案
由于各种原因,可能会发生资源无法渲染:
- 缺少资源
- 无法访问资源
- 缺少渲染 servlet/脚本
- 呈现 servlet/脚本时出错
- 其他调用代码中的错误(吊索模型、POJO、服务)
- ...
即使您设法在处理过程中检测到其中一些故障,设置响应标头也可能为时已晚,因为响应的一部分可能已经提交/刷新。
一种可行的解决方案是设置一个过滤器来处理资源渲染错误。您还可以缓冲响应以确保仅在所有处理完成后才开始发送。
推荐阅读
- typescript - SPFx 使用 @pnp/sp 创建列表
- reactjs - 如果在 React Native 中选中,如何将项目推送到数组?
- apache-spark - datastax 企业 DSE 中的“hive on spark”?
- c# - CORS 设置对本地开发环境中的 AWS Lambda WebApi 2.0 控制器没有影响
- c - 为什么 memcpy 返回字符串永远不等于数组中存在的相同字符串?
- android - Phonegap Android HTML5 Video Volume 0 或静音不起作用
- javascript - 自动提交表格
- javascript - 无法将粘性项目固定在滚动条上
- php - 相同的语句条件
- kubernetes - 在没有 pod 的情况下使用特使(在 pres 解决方案中)