带有静态资源的Grails过滤器?

| 我正在将老式Java过滤器转换为Grails过滤器。 (过滤器正在记录对特定静态图像的访问。) 问题是,我无法点火! Grails是否在静态资源前面支持过滤器?
class EmailImageFilters {
    def filters = {
        emailFilter(uri: \'/images/**\') {
            log.info \"email filter ${new Date()}\"
            before = {
                return true;
            }
        }
    } 
}
我正在使用UIPerformance插件,但是在开发模式下未启用。 Grails 1.3.5 我可以在以下情况下触发它:
emailFilter(controller: \'*\', action: \'*\') {
但是我需要通过静态资源来实现;例如/图片 有什么建议吗?     
已邀请:
静态资源不是由控制器提供的,因此Grails过滤器(这些是Spring控制器拦截器的包装器)不会触发对它们的请求。您需要在web.xml中注册一个servlet过滤器以处理静态资源。 在src / java或src / groovy中创建实现
javax.servlet.Filter
的类,然后运行
grails install-templates
并编辑
src/templates/war/web.xml
进行注册,例如
<filter>
   <filter-name>myFilter</filter-name>
   <filter-class>com.mycompany.myapp.MyFilter</filter-class>
</filter>

<filter-mapping>
   <filter-name>myFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
如果您不希望为所有请求触发url-pattern的值,则将其更改为更具体的值。     

要回复问题请先登录注册