我有一个简单的OncePerRequestFilter
,我的init-param
中定义了几个web.xml
条目,但我不知道如何从过滤器中访问它们。 getFilterConfig()
返回null
。 init(FilterConfig)
docs使它听起来像基于init-param
的名称注入bean属性,例如,名为foo
的参数将其值注入过滤器的属性中名为foo
,但有些登录doFilterInternal
似乎表明没有发生。
由于我对现代Spring相当新(最后一次使用它大约是1.x天)并且对于Spring MVC来说是全新的,我很确定我只是错过了一些明显的东西,但我看不出是什么它是。谢谢你的帮助。
答案 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>