在Sightly中设置响应状态代码

时间:2015-02-20 14:19:30

标签: sling sightly

我有一个Sightly模板,我想用它作为Apache Sling错误处理程序。

如何设置状态代码?

1 个答案:

答案 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>