通过包装器修改slinghttpresponse

时间:2017-11-15 09:27:23

标签: filter aem servlet-filters sling

我试图在AEM中覆盖默认的sendredirect功能。

我想从我的服务器重定向到https网址。

与我实施的吊索过滤器相同。实现了SlingHttpServletResponseWrapper类并重写了sendredirect函数。

然而,在尝试

时的过滤器中

final SlingHttpServletResponse slingResponse =(ModifyLocResponse)响应;

在运行时我得到

org.apache.sling.security.impl.ContentDispositionFilter $ RewriterResponse无法转换为com.adobe.acs.samples.filters.wrappers.ModifyLocResponse

1 个答案:

答案 0 :(得分:1)

尝试通过以下方式实例化而不是强制转换:

final SlingHttpServletResponse slingResponse = new ModifyLocResponse(response);

当然,您需要确保该类的构造函数也具有此模式:

class ModifyLocResponse extends SlingHttpServletResponseWrapper {
    public ModifyLocResponse(SlingHttpServletResponse response) {
        super(response);
    }
    ...
}