Spring如何使用init-param值连接OncePerRequestFilter?

时间:2011-04-27 17:13:00

标签: spring-mvc web.xml

我有一个简单的OncePerRequestFilter,我的init-param中定义了几个web.xml条目,但我不知道如何从过滤器中访问它们。 getFilterConfig()返回nullinit(FilterConfig) docs使它听起来像基于init-param的名称注入bean属性,例如,名为foo的参数将其值注入过滤器的属性中名为foo,但有些登录doFilterInternal似乎表明没有发生。

由于我对现代Spring相当新(最后一次使用它大约是1.x天)并且对于Spring MVC来说是全新的,我很确定我只是错过了一些明显的东西,但我看不出是什么它是。谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

init-param值映射到它自己的过滤器的属性。

public MyFilter extends OncePerRequestFilter {

    // the following should be called once the `GenericFilterBean` `init` method has run        
    public void setFoo(String foo){
         this.foo = foo;
    }
}


<filter>
     <init-param>
          <param-name>foo</param-name>
          <param-value>bar</param-value>
     </init-param>
</filter>