我有一个Sightly模板,我想用它作为Apache Sling错误处理程序。
如何设置状态代码?
答案 0 :(得分:3)
response
是Use-API对象的全局对象。在Java中,您可以从绑定映射访问这些对象,而在Use-API的JavaScript实现中,这些全局对象位于全局命名空间中。
Java Use-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>