将 javax.servlet.Filter 限制为特定 URL 模式
Restricting javax.servlet.Filter to specific URL pattern
我正在尝试为 Adobe CQ 5.6.1 中的项目实施过滤器。似乎很适合用于为显示的每个页面做一些验证工作。
我已经阅读了 Filters 上的文档,并且我用这种方式编写了我的注释:
@SlingFilter(
label = "Filter implementation",
metatype = true,
generateComponent = true,
generateService = true,
order = 1,
scope = SlingFilterScope.REQUEST
)
@Properties({
@Property(name="service.description", value="A Filter"),
@Property(name="sling.filter.pattern", value="/some/path")
})
我编译了我的代码并查找了日志,但不知何故,它似乎没有针对 sling.filter.pattern 中指示的特定路径进行过滤。我似乎没有找到太多关于如何实现这个的示例,所以我对这个功能有点一头雾水。我可以确定的是,我不希望此过滤器在每个 URL 加载时都 运行。
如有任何线索,我们将不胜感激。谢谢!
如问题评论中所述,过滤器上的 sling.filter.pattern
服务 属性 仅受 org.apache.sling.engine
捆绑包的 V2.4.0 及更高版本支持。我已经在 http://sling.apache.org/documentation/the-sling-engine/filters.html 更新了文档以提及这一点。
我正在尝试为 Adobe CQ 5.6.1 中的项目实施过滤器。似乎很适合用于为显示的每个页面做一些验证工作。
我已经阅读了 Filters 上的文档,并且我用这种方式编写了我的注释:
@SlingFilter(
label = "Filter implementation",
metatype = true,
generateComponent = true,
generateService = true,
order = 1,
scope = SlingFilterScope.REQUEST
)
@Properties({
@Property(name="service.description", value="A Filter"),
@Property(name="sling.filter.pattern", value="/some/path")
})
我编译了我的代码并查找了日志,但不知何故,它似乎没有针对 sling.filter.pattern 中指示的特定路径进行过滤。我似乎没有找到太多关于如何实现这个的示例,所以我对这个功能有点一头雾水。我可以确定的是,我不希望此过滤器在每个 URL 加载时都 运行。
如有任何线索,我们将不胜感激。谢谢!
如问题评论中所述,过滤器上的 sling.filter.pattern
服务 属性 仅受 org.apache.sling.engine
捆绑包的 V2.4.0 及更高版本支持。我已经在 http://sling.apache.org/documentation/the-sling-engine/filters.html 更新了文档以提及这一点。