我有一个 Sightly 模板,我想将其用作 Apache Sling 错误处理程序。
如何设置状态码?
response
是 Use-API 对象的全局对象。在 Java 中,您可以从绑定映射中访问这些对象,而在 Use-API 的 JavaScript 实现中,这些全局对象位于全局命名空间中。
Java 使用 API 示例:
public class ErrorHandlerUseObject implements Use {
@Override
public void init(Bindings bindings) {
SlingHttpServletResponse response = (SlingHttpServletResponse) bindings.get(SlingBindings.RESPONSE);
response.setStatus(403);
}
}
JavaScript Use-API 示例(假设脚本名称为errorhandler.js
):
use(function () {
response.setStatus(403);
});
在您的 Sightly 模板中,实例化任何已定义的 Use 对象应该可以设置您的响应代码:
<html data-sly-use.errorHandler="ErrorHandlerUseObject">
...
</html>
<html data-sly-use.errorHandler="errorhandler.js">
...
</html>